📄 io4.s
字号:
/// io4 -- numeric output conversionqicv:hicv: jsr r5,rerr; 999. sys exitxicv: jsr r5,fgetc rts r5gocv: mov pc,gflg jsr r5,getarg mov ndig,_ndigit jsr pc,ecvt tst r2 bmi eocv cmp r2,ndig bgt eocv sub r2,ndig sub $4,width jsr r5,focv add $4,width add $4,nspace rts r5eocv: mov $'e,-(sp) br 1fdocv: mov $'d,-(sp)1: tst gflg bne 1f jsr r5,getarg1: mov ndig,r1 add $6,r1 add nflg,r1 sub width,r1 bge 2f sub r1,nspace2: tst nflg beq 2f mov $'-,r0 jsr r5,fputcc2: mov ndig,r1 mov scale,r0 bgt 2f add r0,r1 br 3f2: inc r13: mov r1,_ndigit jsr pc,ecvt mov r0,r1 mov r2,-(sp) mov scale,r2 sub r2,(sp) tst r2 bgt 2f mov $'0,r0 jsr r5,fputcc br 3f2: movb (r1)+,r0 dec _ndigit jsr r5,fputcc sob r2,2b3: mov $'.,r0 jsr r5,fputcc neg r2 ble 2f3: mov $'0,r0 jsr r5,fputcc sob r2,3b2: mov _ndigit,r2 ble 2f3: movb (r1)+,r0 jsr r5,fputcc sob r2,3b2: mov 2(sp),r0 jsr r5,fputcc mov (sp)+,r1 bge 2f mov $'-,r0 jsr r5,fputcc neg r1 br 3f2: mov $'+,r0 jsr r5,fputcc3: clr r0 div $10.,r0 add $'0,r0 jsr r5,fputcc mov r1,r0 add $'0,r0 jsr r5,fputcc tst (sp)+ rts r5iocv: clr -(sp) clr ndig br 1ffocv: mov $1,-(sp)1: clr -(sp) tst gflg bne 1f jsr r5,getarg tst 2(sp) beq 1f mov scale,(sp)1: mov ndig,_ndigit add (sp)+,_ndigit jsr pc,fcvt mov r0,r1 tst (sp) beq 1f tst gflg bne 1f add scale,r21: mov ndig,r0 add (sp),r0 add nflg,r0 tst r2 ble 1f add r2,r0 br 2f1: inc r02: sub width,r0 bge 1f sub r0,nspace1: tst nflg beq 1f mov $'-,r0 jsr r5,fputcc1: tst r2 bgt 1f mov $'0,r0 jsr r5,fputcc br 2f1: movb (r1)+,r0 jsr r5,fputcc sob r2,1b2: tst (sp)+ beq 1f mov $'.,r0 jsr r5,fputcc1: mov ndig,-(sp) ble 1f tst r2 bge 1f neg r22: mov $'0,r0 jsr r5,fputcc dec ndig ble 1f sob r2,2b1: mov ndig,r2 ble 2f1: movb (r1)+,r0 jsr r5,fputcc sob r2,1b2: mov (sp)+,ndig rts r5getarg: clr nflg setd cmpb itype,$'r beq 1f seti cmpb ilen,$4 bne 2f setl2: cmpb ilen,$1 beq 3f movif *ilval,r0 br 2f3: movb *ilval,r0 movif r0,fr0 br 2f1: cmpb ilen,$4 bne 1f movof *ilval,r0 br 2f1: movf *ilval,r02: cfcc bge 1f absf r0 mov $1,nflg1: rts r5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -