.sect .text; .sect .rom; .sect .data; .sect .bss .define .error .define .Xtrp ! eax is trap number ! all registers must be saved ! because return is possible ! May only be called with error no's <16 .sect .text .error: mov ecx,eax mov ebx,1 sal ebx,cl .extern .ignmask .extern .trp test ebx,(.ignmask) jne 2f call .trp 2: ret .Xtrp: pusha cmp eax,16 jge 1f call .error popa ret 1: call .trp popa ret