📄 io6.s
字号:
/// io6 -- input conversions/.globl aicv/.globl gicv//.globl ilval/.globl width/.globl ilen/.globl fgetc/.globl itype/.globl nlflg/.globl gcflgaicv: mov ilval,r1 movb width,r2 movb ilen,r0 mov r0,-(sp)1: cmp r2,(sp) ble 1f jsr r5,fgetc dec r2 br 1b1: tst r2 ble 1f jsr r5,fgetc movb r0,(r1)+ dec r2 dec (sp) br 1b1: tst (sp) ble 1f movb $' ,(r1)+ dec (sp) br 1b1: tst (sp)+ rts r5licv: mov width,twidth setd seti clrf fr01: jsr r5,fgetcn cmp r0,$'t beq 2f cmp r0,$'T beq 2f cmp r0,$'1 beq 2f cmp r0,$', beq 1f br 1b2: movif $1,fr0 br 1b1: br storiniicv: clr ndigficv:eicv:dicv: mov width,twidth br 1fgicv: mov $16383.,twidth clr ndig mov pc,gcflg br 2f1: clr gcflg2: jsr r5,gatofstorin: cmpb itype,$'r beq 1f cmpb ilen,$1 beq 3f cmpb ilen,$4 bne 2f setl2: movfi fr0,*ilval rts r53: movfi fr0,r0 movb r0,*ilval rts r51: cmpb ilen,$8. beq 2f setf2: movf fr0,*ilval rts r5gatof: setd seti movif $10.,fr3 clr r2 clrf fr0 clr -(sp)1: jsr r5,fgetcn cmp $' ,r0 bne 1f tst nlflg beq 1b tst (sp)+ rts r51: cmp r0,$'+ beq 1f cmp r0,$'- bne 2f inc (sp)1: jsr r5,fgetcn2: cmp $' ,r0 bne 3f tst gcflg bne 3f mov $'0,r03: sub $'0,r0 cmp r0,$9. bhi 2f mulf fr3,fr0 movif r0,fr1 addf fr1,fr0 dec r1 br 1b2: add $'0,r0 cmp r0,$'. bne 1f inc r2 clr r1 br 1b1: mov r3,-(sp) clr r3 cmp r0,$'d beq 3f cmp r0,$'+ beq 3f cmp r0,$'- beq 3f cmp r0,$'e bne 2f3: jsr r5,atoi2: tst r2 bne 1f mov ndig,r1 neg r11: movf fr3,fr2 add r3,r1 mov (sp)+,r3 tst r1 beq 1f bpl 3f neg r1 mov pc,-(sp) br 2f3: clr -(sp)2: dec r1 ble 2f mulf fr3,fr2 br 2b2: tst (sp)+ bne 2f mulf fr2,fr0 br 1f2: divf fr2,fr01: tst (sp)+ beq 1f negf r01: cmp r0,$', beq 1f cmp $' ,r0 beq 1f jsr r5,rerr; 110.1: rts r5atoi: clr -(sp) cmp r0,$'+ beq 1f cmp r0,$'- beq 3f jsr r5,fgetcn cmp r0,$'+ beq 1f cmp r0,$'- bne 2f3: inc (sp)1: jsr r5,fgetcn2: sub $'0,r0 cmp r0,$'9. bhi 2f mpy $10.,r3 add r0,r3 br 1b2: add $'0,r0 tst (sp)+ beq 1f neg r31: rts r5fgetcn: tst twidth bgt 1f mov $',,r0 rts r51: jsr r5,fgetc dec twidth rts r5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -