📄 as16.s
字号:
/// a6 -- pdp-11 assembler pass 1opline: mov r4,r0 jsr r5,betwen; 0; 200 br 1f cmp r0,$'< bne xpr jmp opl17xpr: jsr pc,expres add $2,dot rts pc1: movb (r4),r0 cmp r0,$24 beq xpr jsr r5,betwen; 5; 36 br xpr mov r0,-(sp) jsr pc,readop mov (sp)+,r0 asl r0 jmp *1f-12(r0)1: opl13 / map fop freg,fdst to double opl6 opl7 opl10 opl11 opl13 / map fld/fst to double opl13 opl13 / map fop fsrc,freg to double opl15 opl16 opl17 opl20 opl21 opl22 opl23 xpr opl25 opl26 opl27 opl13 / map mul s,r to double opl31 opl32 xpr xpr opl35 opl36/ jbropl35: mov $4,-(sp) br 1f/ jeq, etcopl36: mov $6,-(sp)1: jsr pc,expres cmp r3,dotrel bne 1f sub dot,r2 bge 1f cmp r2,$-376 blt 1f mov $2,(sp)1: add (sp)+,dot rts pc/doubleopl13:opl7: jsr pc,addresop2: cmp r4,$', beq 1f jsr pc,errora rts pc1: jsr pc,readopopl15: / single operand jsr pc,addres add $2,dot rts pcopl31: / sob jsr pc,expres cmp r4,$', beq 1f jsr pc,errora1: jsr pc,readop/branchopl6:opl10:opl11: jsr pc,expres add $2,dot rts pc/ .byteopl16: jsr pc,expres inc dot cmp r4,$', bne 1f jsr pc,readop br opl161: rts pc/ < (.ascii)opl17: add numval,dot jsr pc,readop rts pc/.evenopl20: inc dot bic $1,dot rts pc/.ifopl21: jsr pc,expres tst r3 bne 1f jsr r5,error; 'U1: tst r2 bne opl22 inc ifflgopl22: /endif rts pc/.globlopl23: cmp r4,$200 blo 1f bisb $40,(r4) jsr pc,readop cmp r4,$', bne 1f jsr pc,readop br opl231: rts pcopl25:opl26:opl27: mov dotrel,r1 asl r1 mov dot,savdot-4(r1) mov savdot-[2*25](r0),dot asr r0 sub $25-2,r0 mov r0,dotrel rts pc/ .commonopl32: cmp r4,$200 blo 1f bis $40,(r4) jsr pc,readop cmp r4,$', bne 1f jsr pc,readop jsr pc,expres rts pc1: jsr r5,error; 'x rts pcaddres: cmp r4,$'( beq alp cmp r4,$'- beq amin cmp r4,$'$ beq adoll cmp r4,$'* beq astargetx: jsr pc,expres cmp r4,$'( bne 2f jsr pc,readop jsr pc,expres jsr pc,checkreg jsr pc,checkrp add $2,dot clr r0 rts pc2: cmp r3,$24 / register type bne 1f jsr pc,checkreg clr r0 rts pc1: add $2,dot clr r0 rts pcalp: jsr pc,readop jsr pc,expres jsr pc,checkrp jsr pc,checkreg cmp r4,$'+ bne 1f jsr pc,readop clr r0 rts pc1: mov $2,r0 rts pcamin: jsr pc,readop cmp r4,$'( beq 1f mov r4,savop mov $'-,r4 br getx1: jsr pc,readop jsr pc,expres jsr pc,checkrp jsr pc,checkreg clr r0 rts pcadoll: jsr pc,readop jsr pc,expres add $2,dot clr r0 rts pcastar: jsr pc,readop cmp r4,$'* bne 1f jsr r5,error; '*1: jsr pc,addres add r0,dot rts pcerrora: jsr r5,error; 'a rts pccheckreg: cmp r2,$7 bhi 1f cmp r3,$1 beq 2f cmp r3,$4 bhi 2f1: jsr pc,errora2: rts pcerrore: jsr r5,error; 'e rts pccheckrp: cmp r4,$') beq 1f jsr r5,error; ') rts pc1: jsr pc,readop rts pc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -