|
|
1.1 root 1: # swap of SHARED
2:
3: .globl _rr4
4: .globl _rr3
5: .globl _rr2
6:
7: .globl _sswap
8: .align 1
9: _sswap:
10: .word 0x0000
11: movl 4(ap),r1 # this
12: movl _rr4,r4
13: movl _rr3,r3
14: movl _rr2,r2
15:
16: L1:
17: tstl r3
18: jeql L2
19: decl r3
20: movl (r4),(r2)
21: cmpl -(r4),-(r2)
22: jbr L1
23: L2:
24: # the following constant is the displacement of t_framep in task
25: movl 20(r1),fp # fp = this->t_framep
26: movl 24(r1),r0 # fudge return -- this->th
27: ret
28:
29: .globl _swap
30: .align 1
31: _swap:
32: .word 0x0000
33: movl 4(ap),r1 # r1 = this
34: # the following constant is the displacement of t_framep in task
35: movl 20(r1),fp # fp = this->t_framep
36: movl 24(r1),r0 # fudge return -- this->th
37: ret
38:
39:
40: .globl _top
41: .align 1
42: _top:
43: .word 0x0000
44: addl3 $1,(ap),r0
45: ashl $2,r0,r0
46: addl2 ap,r0
47: ret
48:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.