1: / 2: / 3: 4: / f35 -- assignment statement 5: 6: .globl sasgn 7: .globl sassi 8: 9: .globl error 10: .globl e2 11: .globl lvalue 12: .globl rvalue 13: .globl code 14: .globl convrt 15: .globl geti 16: .globl getsym 17: .globl getlab 18: .globl genop 19: .globl newline 20: .globl name 21: 22: sasgn: 23: jsr r5,e2 24: cmp r0,$38. / = 25: bne 9f 26: mov r2,-(sp) 27: jsr r5,e2 28: cmp r0,$40. / =| 29: bne 8f 30: tst *(sp) 31: bne 1f / too hard for simple as 32: jsr r5,rvalue 33: mov (sp)+,r2 34: mov 2(r2),r2 35: mov r2,-(sp) 36: mov symtab(r2),r2 37: jsr r5,convrt 38: mov r2,r3 39: bis $7,r3 40: mov $"mv,r0 41: jsr r5,genop 42: mov (sp)+,r3 43: jsr r5,name 44: rts r5 45: 1: 46: mov r2,r3 47: mov (sp)+,r2 48: mov r3,-(sp) 49: jsr r5,lvalue 50: mov (sp)+,r2 51: mov r3,-(sp) 52: jsr r5,rvalue 53: 1: 54: mov (sp)+,r2 55: jsr r5,convrt 56: mov r2,r3 57: bis $7,r3 / type 'g' 58: mov $"as,r0 59: jsr r5,genop 60: jsr r5,newline 61: rts r5 62: 63: sassi: 64: jsr r5,getlab 65: br 9f 66: mov r0,-(sp) 67: cmpb (r1)+,$'t 68: bne 8f 69: cmpb (r1)+,$'o 70: bne 8f 71: jsr r5,e2 72: cmp r0,$40. / =| 73: bne 8f 74: jsr r5,lvalue 75: mov (sp)+,r0 76: mov r3,-(sp) 77: jsr r5,code 78: < lval; .%d\n\0>; .even 79: r0 80: mov $int2con,r3 81: br 1b 82: 8: 83: tst (sp)+ 84: 9: 85: jsr r5,error; 39. 86: rts r5