catch possibly occurring trap with stores in the HP
This commit is contained in:
parent
3df72f4136
commit
eddb43c08e
2 changed files with 91 additions and 2 deletions
|
@ -1,10 +1,54 @@
|
||||||
#
|
#
|
||||||
|
#include <em_abs.h>
|
||||||
|
|
||||||
mes 2,EM_WSIZE,EM_PSIZE
|
mes 2,EM_WSIZE,EM_PSIZE
|
||||||
|
|
||||||
|
.1
|
||||||
|
bss EM_PSIZE,0,0
|
||||||
|
.2
|
||||||
|
bss EM_WSIZE,0,0
|
||||||
|
|
||||||
|
pro $ctch,0
|
||||||
|
lol 0
|
||||||
|
loc EHEAP
|
||||||
|
beq *1
|
||||||
|
lae .1
|
||||||
|
loi EM_PSIZE
|
||||||
|
sig
|
||||||
|
asp EM_PSIZE
|
||||||
|
lol 0
|
||||||
|
trp
|
||||||
|
rtt
|
||||||
|
1
|
||||||
|
loc 1
|
||||||
|
ste .2
|
||||||
|
rtt
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
exp $brk
|
exp $brk
|
||||||
pro $brk,0
|
pro $brk,0
|
||||||
lal 0
|
lal 0
|
||||||
loi EM_PSIZE
|
loi EM_PSIZE
|
||||||
str 2 ; The - possibly - occurring traps should be caught
|
lpi $ctch
|
||||||
|
sig
|
||||||
|
lae .1
|
||||||
|
sti EM_PSIZE
|
||||||
|
loc 0
|
||||||
|
ste .2
|
||||||
|
str 2 ; The - possibly - occurring trap is caught
|
||||||
|
lae .1
|
||||||
|
loi EM_PSIZE
|
||||||
|
sig
|
||||||
|
asp EM_PSIZE
|
||||||
|
loe .2
|
||||||
|
zgt *1
|
||||||
zer EM_PSIZE
|
zer EM_PSIZE
|
||||||
ret EM_PSIZE
|
ret EM_PSIZE
|
||||||
|
1
|
||||||
|
loc -1
|
||||||
|
loc EM_WSIZE
|
||||||
|
loc EM_PSIZE
|
||||||
|
cii
|
||||||
|
ret EM_PSIZE
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,11 +1,56 @@
|
||||||
#
|
#
|
||||||
|
#include <em_abs.h>
|
||||||
|
|
||||||
mes 2,EM_WSIZE,EM_PSIZE
|
mes 2,EM_WSIZE,EM_PSIZE
|
||||||
|
|
||||||
|
.1
|
||||||
|
bss EM_PSIZE,0,0
|
||||||
|
.2
|
||||||
|
bss EM_WSIZE,0,0
|
||||||
|
|
||||||
|
pro $ctch,0
|
||||||
|
lol 0
|
||||||
|
loc EHEAP
|
||||||
|
beq *1
|
||||||
|
lae .1
|
||||||
|
loi EM_PSIZE
|
||||||
|
sig
|
||||||
|
asp EM_PSIZE
|
||||||
|
lol 0
|
||||||
|
trp
|
||||||
|
rtt
|
||||||
|
1
|
||||||
|
loc 1
|
||||||
|
ste .2
|
||||||
|
rtt
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
exp $sbrk
|
exp $sbrk
|
||||||
pro $sbrk,0
|
pro $sbrk,0
|
||||||
lor 2
|
lor 2
|
||||||
lor 2
|
lor 2
|
||||||
|
lpi $ctch
|
||||||
|
sig
|
||||||
|
lae .1
|
||||||
|
sti EM_PSIZE
|
||||||
|
loc 0
|
||||||
|
ste .2
|
||||||
lol 0
|
lol 0
|
||||||
ads EM_WSIZE
|
ads EM_WSIZE
|
||||||
str 2 ; The - possibly - occurring traps should be caught
|
str 2 ; The - possibly - occurring trap is caught
|
||||||
|
lae .1
|
||||||
|
loi EM_PSIZE
|
||||||
|
sig
|
||||||
|
asp EM_PSIZE
|
||||||
|
loe .2
|
||||||
|
zgt *1
|
||||||
|
ret EM_PSIZE
|
||||||
|
1
|
||||||
|
asp EM_PSIZE
|
||||||
|
loc -1
|
||||||
|
loc EM_WSIZE
|
||||||
|
loc EM_PSIZE
|
||||||
|
cii
|
||||||
ret EM_PSIZE
|
ret EM_PSIZE
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue