make trap handling more consistent

This commit is contained in:
ceriel 1988-07-13 14:29:32 +00:00
parent be1e3440b7
commit 87e020db8a
16 changed files with 29 additions and 20 deletions

View file

@ -24,5 +24,5 @@
.extern EODDZ
.extern .trp
mov ax,EODDZ
push ax
push bx
jmp .trp

View file

@ -35,5 +35,5 @@
.extern EODDZ
.extern .trp
mov ax,EODDZ
push ax
push bx
jmp .trp

View file

@ -35,5 +35,5 @@
.extern EODDZ
.extern .trp
mov ax,EODDZ
push ax
push bx
jmp .trp

View file

@ -1,5 +1,6 @@
.sect .text; .sect .rom; .sect .data; .sect .bss
.define .error
.define .Xtrp
! ax is trap number
! all registers must be saved
@ -31,3 +32,11 @@
pop si
pop bp
ret
.Xtrp:
cmp ax,16
jge 1f
call .error
ret
1:
jmp .trp

View file

@ -35,5 +35,4 @@
.cmf4:
.cmf8:
mov ax,18 ! illegal instruction EILLINS
call .trp
ret
jmp .trp

View file

@ -38,5 +38,5 @@
.extern EODDZ
.extern .trp
mov ax,EODDZ
push ax
push bx
jmp .trp

View file

@ -26,5 +26,5 @@
.extern EODDZ
.extern .trp
mov ax,EODDZ
push ax
push bx
jmp .trp

View file

@ -35,5 +35,5 @@
.extern EODDZ
.extern .trp
mov ax,EODDZ
push ax
push bx
jmp .trp

View file

@ -35,5 +35,5 @@
.extern EODDZ
.extern .trp
mov ax,EODDZ
push ax
push bx
jmp .trp

View file

@ -32,5 +32,5 @@
.extern EODDZ
.extern .trp
mov ax,EODDZ
push ax
push dx
jmp .trp

View file

@ -33,5 +33,5 @@
.extern EODDZ
.extern .trp
mov ax,EODDZ
push ax
push dx
jmp .trp

View file

@ -26,5 +26,5 @@
.extern EODDZ
.extern .trp
mov ax,EODDZ
push ax
push bx
jmp .trp

View file

@ -35,7 +35,6 @@
.extern .trp
pop di
mov ax,ESET
push ax
jmp .trp
.sect .data

View file

@ -31,5 +31,5 @@
.extern EODDZ
.extern .trp
mov ax,EODDZ
push ax
push dx
jmp .trp

View file

@ -31,5 +31,5 @@
.extern EODDZ
.extern .trp
mov ax,EODDZ
push ax
push dx
jmp .trp

View file

@ -12,14 +12,16 @@
add ax,02000
and ax,~0777
mov (.limhp),ax
push bx
push ax
call _brk
or ax,ax
jne 2f
pop cx
pop bx
cmp ax,-1
je 2f
1:
jmp bx
2:
mov ax,EHEAP
push ax
call .trp
jmp bx
push bx
jmp .trp