📄 f45.s
字号:
/// f45 -- constant pool.globl constn.globl evalcon.globl error.globl perror.globl code.globl getcon.globl setln.globl getln.globl xbuf.globl symbuf.globl negflgconstn: jsr r5,setln mov $xbuf+518.,r3 / pool max pointer mov $ibuf+518.,r4 / pool pointer pointer1: jsr r5,getln br 1f cmp r0,$'c bne 1b jsr r5,packcon mov r2,-(r4) / put p ptr in p p ptr cmp r3,r4 blo 1b jsr r5,error; 99. jsr r5,perror1: mov $xbuf+518.,r21: cmp r2,r3 bhis 1f mov $ibuf+518.,r12: cmp r1,r4 blo 2f cmp -(r1),r2 bne 2b mov r1,r0 sub $ibuf+516.,r0 asr r0 neg r0 jsr r5,code <c%d:\n\0>; .even r0 br 2b2: mov (r2)+,r0 jsr r5,code < %o\n\0>; .even r0 br 1b1: rts r5packcon: mov $line,r1 jsr r5,evalcon mov r1,-(sp) mov r3,-(sp) sub r2,(sp) asr (sp) mov r2,-(sp) mov $xbuf+518.,r21: mov (sp),r3 mov r2,r1 tst (r2)+ mov 2(sp),r02: cmp (r1)+,(r3)+ bne 1b dec r0 bgt 2b tst -(r2) mov (sp)+,r3 asl (sp) add r2,(sp) cmp (sp),r3 blos 1f mov (sp),r3 / eureka1: tst (sp)+ mov (sp)+,r1 rts r5evalcon: cmpb efno,$5 bne 2f movb efno+1,r0 mov r3,r2 br 1f2: jsr r5,getcon tst negflg beq 2f negf fr0 negf fr12: mov r3,r2 mov efno,r0 mov r0,r1 clrb r0 swab r0 bic $!7,r1 cmpb r1,$realcon beq 3f cmpb r1,$cplxcon beq 2f setl movfi r0,symbuf+1 seti mov $symbuf+5,r1 sub r0,r1 br 1f2: mov $symbuf+1,r1 movf fr1,symbuf+1 cmp r0,$8 beq 2f movf fr0,symbuf+9. br 1f2: movf fr0,symbuf+5 br 1f3: movf fr0,symbuf+1 mov $symbuf+1,r11: movb (r1)+,(r3)+ dec r0 bgt 1b bit $1,r3 beq 1f clrb (r3)+1: rts r5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -