1: /
2: /
3:
4: / f34 -- if statement
5:
6: .globl sif
7:
8: .globl e2
9: .globl error
10: .globl rvalue
11: .globl code
12: .globl ifstmt
13: .globl iserror
14: .globl getsym
15: .globl geti
16: .globl genop
17: .globl getlab
18: .globl newline
19:
20: sif:
21: jsr r5,e2 / expression
22: jsr r5,iserror
23: br 9f
24: cmp r0,$34. / )
25: bne 9f
26: jsr r5,rvalue
27: mov $"if,r0
28: jsr r5,genop
29: bic $!7,r3
30: cmp r3,$3 / logical
31: bne 1f
32: jsr r5,code
33: <; 1f\n\0>; .even
34: jsr r5,ifstmt
35: jsr r5,code
36: <1:\n\0>; .even
37: rts r5
38: 1:
39: mov $3,-(sp)
40: 1:
41: jsr r5,getlab
42: br 8f
43: jsr r5,code
44: <; .%d\0>; .even
45: r0
46: dec (sp)
47: beq 1f
48: jsr r5,getsym
49: cmp r0,$36.
50: beq 1b
51: 8:
52: tst (sp)+
53: br 9f
54: 1:
55: tst (sp)+
56: jsr r5,newline
57: jsr r5,getsym
58: cmp r0,$40.
59: bne 9f
60: rts r5
61:
62: 9:
63: jsr r5,error; 40.
64: rts r5
Defined functions
sif
declared in line
6; defined in line
20; used 3 times