123456789101112131415161718192021222324252627282930313233343536373839404142 |
- .sect .text; .sect .rom; .sect .data; .sect .bss
- .define .error
- .define .Xtrp
- ! ax is trap number
- ! all registers must be saved
- ! because return is possible
- ! May only be called with error no's <16
- .sect .text
- .error:
- push bp
- push si
- push di
- push dx
- push cx
- push bx
- push ax
- mov cx,ax
- mov bx,1
- sal bx,cl
- .extern .ignmask
- .extern .trp
- test bx,(.ignmask)
- jne 2f
- call .trp
- 2:
- pop ax
- pop bx
- pop cx
- pop dx
- pop di
- pop si
- pop bp
- ret
- .Xtrp:
- cmp ax,16
- jge 1f
- call .error
- ret
- 1:
- jmp .trp
|