1: f=r5
2: g=r4
3: .globl ofile
4: .globl dogen
5: .globl succ
6: .globl g1,k
7: .globl emit
8:
9: emit:
10: mov f,-(sp)
11: add $g1,(sp)
12: mov g,r1
13: 1: /look for a translation
14: cmp (sp),r1
15: bge 3f /none at all
16: bit -(r1),$100001
17: beq 1b
18: /move it to end of stak
19: mov (r1)+,r0
20: 1:
21: cmp g,r1
22: ble 1f
23: mov (r1),-2(r1)
24: mov r0,(r1)+
25: br 1b
26: 1:
27: mov ofile,r0
28: jsr pc,dogen
29: mov g,r1
30: 1:
31: cmp (sp),r1 /try to find prev value of k
32: bge 1f /nothing more in this stack frame
33: tst -(r1)
34: bge 1b /this isnt a k pointer (negative)
35: mov (r1),k(f)
36: br 3f
37: 1:
38: mov f,r0 /go back to prev stack frame
39: mov k(r0),k(f)
40: 3:
41: tst (sp)+
42: jmp succ
Defined functions
emit
declared in line
7; defined in line
9; used 1 times
f
defined in line
1; used 4 times
g
defined in line
2; used 3 times