📄 fx9.s
字号:
/// fx9 -- code/ jsr r5,code; <string\0>; .even/ arg1/ arg2/ ...// args specified by %<c> in string./ %s: string/ %d: decimal number/ %o: octal number/ %c: character// args are addresses/ or registers r0-r4.globl code.globl putc.globl getnamecode: mov r4,-(sp) mov r3,-(sp) mov r2,-(sp) mov r1,-(sp) mov r0,-(sp) mov r5,r41: tstb (r5)+ bne 1b inc r5 bic $1,r51: movb (r4)+,r0 beq 1f cmp r0,$'% beq 2f jsr r5,putc; obuf br 1b2: movb (r4)+,r0 beq 1f cmp r0,$'s beq cstr cmp r0,$'c beq cchr cmp r0,$'d beq cdec cmp r0,$'o beq coct cmp r0,$'n beq cnam jsr r5,putc; obuf br 1bcnam: jsr pc,cget mov r1,r3 jsr r5,getname mov $symbuf,r1 br 2fcstr: jsr pc,cget2: movb (r1)+,r0 beq 1b cmp r0,$'\n beq 2b jsr r5,putc; obuf br 2bcchr: jsr pc,cget mov r1,r0 jsr r5,putc; obuf mov r1,r0 clrb r0 swab r0 beq 1b jsr r5,putc; obuf br 1bcoct: jsr pc,cget mov $8.,r2 br 2fcdec: jsr pc,cget mov $10.,r22: jsr pc,2f br 1b2: clr r0 dvd r2,r0 mov r1,-(sp) mov r0,r1 beq 2f jsr pc,2b2: mov (sp)+,r0 add $'0,r0 jsr r5,putc; obuf rts pc1: mov (sp)+,r0 mov (sp)+,r1 mov (sp)+,r2 mov (sp)+,r3 mov (sp)+,r4 rts r5cget: mov (r5)+,r1 cmp r1,$4 blos 1f rts pc1: asl r1 add $2,r1 add sp,r1 mov (r1),r1 rts pc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -