📄 show.s
字号:
lda 1,x
sta *__r1
lda ,x
tsx
sta *__r0
mov *__r1,*__rlo
mov *__r0,*__rhi
lda #10
psha
clra
psha
jsr __divmod16u
pula
sta *__r0
pula
add #48
sta *__r1
lda *__r0
adc #0
lda 8,X
add #3
sta *__r3
lda 7,X
adc #0
sta *__r2
lda *__r1
ldhx *__r2
sta ,x
tsx
.dbline 119
; ReP[2]=((*IntDataP)/10)%10+'0';
lda ,X
ldx 1,X
psha
pulh
lda 1,x
sta *__r1
lda ,x
tsx
sta *__r0
mov *__r1,*__rlo
mov *__r0,*__rhi
lda #10
psha
clra
psha
jsr __divmod16u
ais #2
mov *__rhi,*__r0
mov *__rlo,*__r1
mov *__r1,*__rlo
mov *__r0,*__rhi
lda #10
psha
clra
psha
jsr __divmod16u
pula
sta *__r0
pula
add #48
sta *__r1
lda *__r0
adc #0
lda 8,X
add #2
sta *__r3
lda 7,X
adc #0
sta *__r2
lda *__r1
ldhx *__r2
sta ,x
tsx
.dbline 120
; ReP[1]=((*IntDataP)/100)%10+'0';
lda ,X
ldx 1,X
psha
pulh
lda 1,x
sta *__r1
lda ,x
tsx
sta *__r0
mov *__r1,*__rlo
mov *__r0,*__rhi
lda #100
psha
clra
psha
jsr __divmod16u
ais #2
mov *__rhi,*__r0
mov *__rlo,*__r1
mov *__r1,*__rlo
mov *__r0,*__rhi
lda #10
psha
clra
psha
jsr __divmod16u
pula
sta *__r0
pula
add #48
sta *__r1
lda *__r0
adc #0
lda 8,X
add #1
sta *__r3
lda 7,X
adc #0
sta *__r2
lda *__r1
ldhx *__r2
sta ,x
tsx
.dbline 121
; ReP[0]=(*IntDataP)/1000+'0';
lda ,X
ldx 1,X
psha
pulh
lda 1,x
sta *__r1
lda ,x
tsx
sta *__r0
mov *__r1,*__rlo
mov *__r0,*__rhi
lda #-24
psha
lda #3
psha
jsr __divmod16u
ais #2
mov *__rhi,*__r0
mov *__rlo,*__r1
lda *__r1
add #48
sta *__r1
lda *__r0
adc #0
lda 8,X
sta *__r3
lda 7,X
sta *__r2
lda *__r1
ldhx *__r2
sta ,x
tsx
.dbline 124
;
; //2:插入小数点
; if(Data[2]==1) //有一位小数
lda 10,X
add #2
sta *__r1
lda 9,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
cmp #1
bne L14
.dbline 125
; {ReP[4]=ReP[3];ReP[3]='.';}
.dbline 125
lda 8,X
add #3
sta *__r1
lda 7,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
sta *__r1
lda 8,X
add #4
sta *__r3
lda 7,X
adc #0
sta *__r2
lda *__r1
ldhx *__r2
sta ,x
tsx
.dbline 125
lda 8,X
add #3
sta *__r1
lda 7,X
adc #0
sta *__r0
lda #46
ldhx *__r0
sta ,x
tsx
.dbline 125
jmp L15
L14:
.dbline 126
; else if(Data[2]==2) //有两位小数
lda 10,X
add #2
sta *__r1
lda 9,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
cmp #2
bne L16
.dbline 127
; {ReP[4]=ReP[3];ReP[3]=ReP[2];ReP[2]='.';}
.dbline 127
lda 8,X
add #3
sta *__r1
lda 7,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
sta *__r1
lda 8,X
add #4
sta *__r3
lda 7,X
adc #0
sta *__r2
lda *__r1
ldhx *__r2
sta ,x
tsx
.dbline 127
lda 8,X
add #2
sta *__r1
lda 7,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
sta *__r1
lda 8,X
add #3
sta *__r3
lda 7,X
adc #0
sta *__r2
lda *__r1
ldhx *__r2
sta ,x
tsx
.dbline 127
lda 8,X
add #2
sta *__r1
lda 7,X
adc #0
sta *__r0
lda #46
ldhx *__r0
sta ,x
tsx
.dbline 127
bra L17
L16:
.dbline 128
; else if(Data[2]==0) //没有小数
lda 10,X
add #2
sta *__r1
lda 9,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
tsta
bne L18
.dbline 129
; {
.dbline 130
; for(i=4;i>0;i--) //调整整数显示位置
lda #4
sta 4,X
bra L23
L20:
.dbline 131
clr *__r0
lda 4,X
sub #1
sta *__r1
lda *__r0
sbc #0
sta *__r0
lda *__r1
add 8,X
sta *__r1
lda *__r0
adc 7,X
sta *__r0
ldhx *__r0
lda ,x
tsx
sta *__r1
clr *__r2
lda 4,X
add 8,X
sta *__r3
lda *__r2
adc 7,X
sta *__r2
lda *__r1
ldhx *__r2
sta ,x
tsx
L21:
.dbline 130
dec 4,X
L23:
.dbline 130
lda 4,X
cmp #0
bhi L20
.dbline 132
; ReP[i]=ReP[i-1]; //在最前面补零
; ReP[0]='0';
lda 8,X
sta *__r1
lda 7,X
sta *__r0
lda #48
ldhx *__r0
sta ,x
tsx
.dbline 133
; }
L18:
L17:
L15:
.dbline 136
;
; //3:调整前导的0为空格
; if(ReP[0]=='0')
lda 7,X
ldx 8,X
psha
pulh
lda ,x
tsx
cmp #48
bne L24
.dbline 137
; ReP[0]=0x20;
lda 8,X
sta *__r1
lda 7,X
sta *__r0
lda #32
ldhx *__r0
sta ,x
tsx
L24:
.dbline 138
; for(i=1;i<4;i++)
lda #1
sta 4,X
bra L29
L26:
.dbline 139
; {if((ReP[i-1]==0x20)&&(ReP[i]=='0')&&(ReP[i+1]!='.'))
.dbline 139
clr *__r0
lda 4,X
sub #1
sta *__r1
lda *__r0
sbc #0
sta *__r0
lda *__r1
add 8,X
sta *__r1
lda *__r0
adc 7,X
sta *__r0
ldhx *__r0
lda ,x
tsx
cmp #32
bne L30
clr *__r0
lda 4,X
add 8,X
sta *__r1
lda *__r0
adc 7,X
sta *__r0
ldhx *__r0
lda ,x
tsx
cmp #48
bne L30
ldhx *__r0
aix #1
lda ,x
tsx
cmp #46
beq L30
.dbline 140
clr *__r0
lda 4,X
add 8,X
sta *__r1
lda *__r0
adc 7,X
sta *__r0
lda #32
ldhx *__r0
sta ,x
tsx
L30:
.dbline 140
L27:
.dbline 138
inc 4,X
L29:
.dbline 138
lda 4,X
cmp #4
blo L26
.dbline 143
; ReP[i]=0x20;}
;
; //4:调整显示的位置,把空格一起移到最后
; for(i=1;i<4;i++)
lda #1
sta 4,X
bra L35
L32:
.dbline 144
; if(ReP[i]!=0x20) break;
clr *__r0
lda 4,X
add 8,X
sta *__r1
lda *__r0
adc 7,X
sta *__r0
ldhx *__r0
lda ,x
tsx
cmp #32
beq L36
.dbline 144
bra L34
L36:
L33:
.dbline 143
inc 4,X
L35:
.dbline 143
lda 4,X
cmp #4
blo L32
L34:
.dbline 145
; for(k=1,j=i;j<=4;j++,k++)
lda #1
sta 2,X
lda 4,X
sta 3,X
bra L41
L38:
.dbline 146
; {
.dbline 147
; ReP[k]=ReP[j];
clr *__r0
lda 3,X
add 8,X
sta *__r1
lda *__r0
adc 7,X
sta *__r0
ldhx *__r0
lda ,x
tsx
sta *__r1
clr *__r2
lda 2,X
add 8,X
sta *__r3
lda *__r2
adc 7,X
sta *__r2
lda *__r1
ldhx *__r2
sta ,x
tsx
.dbline 148
; if(k!=j) ReP[j]=0x20;
lda 2,X
cmp 3,X
beq L42
.dbline 148
clr *__r0
lda 3,X
add 8,X
sta *__r1
lda *__r0
adc 7,X
sta *__r0
lda #32
ldhx *__r0
sta ,x
tsx
L42:
.dbline 149
L39:
.dbline 145
inc 3,X
inc 2,X
L41:
.dbline 145
lda 3,X
cmp #4
bls L38
L44:
.dbline 151
; }
;
; NumFormatChange_End:;
.dbline -2
L13:
ais #5
.dbline 0 ; func end
rts
.dbsym l IntDataP 0 pi
.dbsym l k 2 c
.dbsym l j 3 c
.dbsym l i 4 c
.dbsym l Data 9 pc
.dbsym l ReP 7 pc
.dbend
.area lit
L3:
.byte 183,214,0
L2:
.byte 161,230,0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -