1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
.h8300h
.text
.global __setjmp
.global _longjmp
__setjmp:
add.l #20,er0
mov.l er6,@er0
mov.l er5,@-er0
mov.l er4,@-er0
mov.l er3,@-er0
mov.l er2,@-er0
mov.l er1,@-er0
mov.l sp,@(24,er0)
mov.l @sp,er1
mov.l er1,@(28,er0)
sub.l er0,er0
rts
_longjmp:
mov.l er1,er1
bne 1f
sub.l er1,er1
inc.l #1,er1
1:
adds #4,er0
adds #4,er0
mov.l @er0+,er3
mov.l @er0+,er4
mov.l @er0+,er5
mov.l @er0+,er6
mov.l @er0+,sp
mov.l @er0,er2
mov.l er2,@sp
mov.l er1,er2
mov.l er0,er1
mov.l er2,er0
sub.l #28,er1
mov.l @(4,er1),er2
mov.l @er1,er1
rts
|