📄 f33.s
字号:
/// f33 -- do, etal.globl sdo.globl dobeg.globl doend.globl getlab.globl e2.globl error.globl lvalue.globl rvalue.globl code.globl convrt.globl dou.globl dotabp.globl edotab.globl dotabsdo: jsr r5,getlab br 9f jsr r5,dobeg cmp r0,$40. bne 9f rts r57: tst (sp)+8: tst (sp)+9: jsr r5,error; 42. rts r5dobeg: mov dotabp,r2 cmp r2,$edotab blo 1f jsr r5,error; 44. rts r51: mov dou,dotab(r2) inc dou mov r0,dotab+2(r2) add $4,dotabp jsr r5,e2 cmp r0,$38. / = bne 9b mov r2,-(sp) jsr r5,lvalue mov r3,-(sp) bic $!7,r3 cmp r3,$1 / integer bne 7b jsr r5,e2 cmp r0,$36. / , bne 7b jsr r5,rvalue mov (sp),r2 jsr r5,convrt mov (sp),r3 clrb r3 swab r3 jsr r5,code < gas%d\n goto; 2f\n\0>; .even r3 mov dotabp,r2 mov dotab-4(r2),r0 jsr r5,code <t%d:\n\0>; .even r0 mov (sp)+,r3 mov (sp)+,r2 mov r0,-(sp) mov r3,-(sp) jsr r5,lvalue jsr r5,e2 mov r0,-(sp) jsr r5,rvalue mov 2(sp),r2 jsr r5,convrt cmp (sp)+,$36. / , bne 1f jsr r5,e2 mov r0,-(sp) jsr r5,rvalue mov 2(sp),r2 jsr r5,convrt mov (sp)+,r0 jsr r5,code < do2\0>; .even br 2f1: jsr r5,code < do1\0>; .even2: mov (sp)+,r3 clrb r3 swab r3 mov (sp)+,r2 jsr r5,code <%d; o%d\n2:\n\0>; .even r3 r2 rts r5doend: tst r0 bne 1f jsr pc,gen rts r51: clr r21: cmp r2,dotabp bhis 1f add $4,r2 cmp r0,dotab-2(r2) bne 1b jsr pc,gen br doend1: rts r5gen: mov r0,-(sp) mov dotabp,r2 cmp r0,dotab-2(r2) beq 1f jsr r5,error; 43.1: mov dotab-4(r2),r0 sub $4,dotabp jsr r5,code < goto; t%d\no%d:\n\0>; .even r0 r0 mov (sp)+,r0 rts pc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -