catch possibly occurring trap with stores in the HP
This commit is contained in:
parent
3df72f4136
commit
eddb43c08e
|
@ -1,10 +1,54 @@
|
|||
#
|
||||
#include <em_abs.h>
|
||||
|
||||
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
|
||||
pro $brk,0
|
||||
lal 0
|
||||
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
|
||||
ret EM_PSIZE
|
||||
1
|
||||
loc -1
|
||||
loc EM_WSIZE
|
||||
loc EM_PSIZE
|
||||
cii
|
||||
ret EM_PSIZE
|
||||
end
|
||||
|
|
|
@ -1,11 +1,56 @@
|
|||
#
|
||||
#include <em_abs.h>
|
||||
|
||||
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
|
||||
pro $sbrk,0
|
||||
lor 2
|
||||
lor 2
|
||||
lpi $ctch
|
||||
sig
|
||||
lae .1
|
||||
sti EM_PSIZE
|
||||
loc 0
|
||||
ste .2
|
||||
lol 0
|
||||
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
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue