📄 as15.s
字号:
/// a5 -- pdp-11 assembler pass 1readop: mov savop,r4 beq 1f clr savop rts pc1: jsr pc,8f jsr pc,putw rts pc8: jsr pc,rch_readop: mov r0,r4 movb chartab(r0),r1 bgt rdname jmp *1f-2(r1) fixor escp 8b retread dquote garb squote rdname skip rdnum retread string1:escp: jsr pc,rch mov $esctab,r11: cmpb r0,(r1)+ beq 1f tstb (r1)+ bne 1b rts pc1: movb (r1),r4 rts pcesctab: .byte '/, '/ .byte '\<, 035 .byte '>, 036 .byte '%, 037 .byte 0, 0fixor: mov $037,r4retread: rts pcrdname: movb r0,ch cmp r1,$'0 blo 1f cmp r1,$'9 blos rdnum1: jmp rnamerdnum: jsr pc,number br 1f rts pcsquote: jsr pc,rsch br 1fdquote: jsr pc,rsch mov r0,-(sp) jsr pc,rsch swab r0 bis (sp)+,r01: mov r0,numval mov $1,r4 jsr pc,putw mov numval,r4 jsr pc,putw mov $1,r4 tst (sp)+ rts pcskip: jsr pc,rch mov r0,r4 cmp r0,$'\e beq 1f cmp r0,$'\n bne skip1: rts pcgarb: jsr r5,error; 'g br 8bstring: mov $'<,r4 jsr pc,putw clr numval1: jsr pc,rsch tst r1 bne 1f mov r0,r4 bis $400,r4 jsr pc,putw inc numval br 1b1: mov $-1,r4 jsr pc,putw mov $'<,r4 tst (sp)+ rts pcrsch: jsr pc,rch cmp r0,$'\e beq 4f cmp r0,$'\n beq 4f clr r1 cmp r0,$'\\ bne 3f jsr pc,rch mov $schar,r21: cmpb (r2)+,r0 beq 2f tstb (r2)+ bpl 1b rts pc2: movb (r2)+,r0 clr r1 rts pc3: cmp r0,$'> bne 1f inc r11: rts pc4: jsr r5,error; '< jmp aexitschar: .byte 'n, 012 .byte 't, 011 .byte 'e, 004 .byte '0, 000 .byte 'r, 015 .byte 'a, 006 .byte 'p, 033 .byte 0, -1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -