delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/05/10/16:48:28

From: boylesgj AT lion DOT cs DOT latrobe DOT edu DOT au (Gregary J Boyles)
Newsgroups: comp.os.msdos.djgpp
Subject: AS macro problem.
Date: 5 May 1997 15:01:54 GMT
Organization: Comp.Sci & Comp.Eng, La Trobe Uni, Australia
Lines: 61
Distribution: world
Message-ID: <5kksp2$gbv@lion.cs.latrobe.edu.au>
NNTP-Posting-Host: lion.cs.latrobe.edu.au
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

This problem is bugging the shit out me!
It has obviously worked for A.B.Williams so why frick won't it work for me?
If I use ;\ at the end of each line I get "error ignoring extra character \ at end of line".
What the hell is the assemblers god damned problem?


// The address of the new ISR.
#define MakeWrapper(Num)                          .data                                         #\
                                                  .align 2                                      #\
                                                        .globl _ISRAddress_##Num                      #\
                 Invalid character _ in opcode => _ISRAddress_##Num: .long 0                    #\
                                                  .data                                         #\
                                                  .align 2                                      #\
                 Invalid character _ in opcode => _StartStack_##Num: .space StackSize,0         #\
                 Invalid character _ in opcode => _EndStack_##Num:                              #\
                                                  .text                                         #\
                                                  .align 2                                      #\
                                                 .globl _ISRWrapper_##Num__Fe                  #\
                 Invalid character _ in opcode => _ISRWrapper_##Num__Fe:                        #\
                                                  pushal                                    #\
                                                  pushw %ds                                 #\
                                                  pushw %es                                 #\
                                                  pushw %fs                                 #\
                                                  pushw %gs                                 #\
                                                  movw ___djgpp_ds_alias,%ax                #\
                                                  movw %ax,%ds                              #\
                                                  movw %ax,%es                              #\
                                                  movw %ax,%fs                              #\
                                                  movw %ax,%gs                              #\
                                                  movw %ss,%bx                              #\
                                                  movl %esp,%ecx                            #\
                                                  movw %ax,%ss                              #\
Operands don't match any known 386 instruction => movl $_EndStack_##Num,%esp                #\
                                                  pushw %bx                                 #\
                                                  pushl %ecx                                #\
Operands don't match any known 386 instruction => movl _ISRAddress_##Num,%eax               #\
                                                  call *%eax                                #\
                                                  popl %ecx                                 #\
                                                  popw %bx                                  #\
                                                  movw %bx,%ss                              #\
                                                  movl %ecx,%esp                            #\
                                                  popw %gs                                  #\
                                                  popw %fs                                  #\
                                                  popw %es                                  #\
                                                  popw %ds                                  #\
                                                  popal                                     #\
                                                  sti                                       #\
                                                  iret                                      #\
                                                  .text                                         #\
                                                  .align 2                                      #\
                                                  .globl _EndOfISRWrapper_##Num__Fe             #\
                 Invalid character _ in opcode => _EndISRWrapper_##Num__Fe:                     #\
                                                  pushl %ebp                                #\
                                                  movl %esp,%ebp                            #\
                                                  leave                                     #\
                                                  ret


Invalid character ( in opcode => MakeWrapper(1)


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019