From 6585c635d03dea7ab347e9001288f2b46f812efe Mon Sep 17 00:00:00 2001 From: fumiama Date: Sat, 3 Apr 2021 13:41:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BF=AB=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- print16.asm | 30 ++++++++++++++++-------------- snake.prg | Bin 490 -> 505 bytes 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/print16.asm b/print16.asm index 8be183d..5cb84e6 100644 --- a/print16.asm +++ b/print16.asm @@ -14,7 +14,7 @@ print16: lda #0 ldx #6 -* sta _num_dec - 1, x +* sta _num_dec, x dex bne - @@ -95,6 +95,7 @@ mod_1: ; 低字节低4位的值相当于个位加6,十位加9,百位加 bcc _skip pha lda #$10 ; 进位相当于100 + clc adc _num_dec + _1 - 1 sta _num_dec + _1 - 1 pla @@ -129,39 +130,40 @@ _skip: jsr mod_2 jsr mod_1 ; 此时结果中有些位可能大于10,需要进行进位处理 jsr chrin - ldx #6 + ldx #5 _loop: - lda _num_dec - 1, x ldy #0 ; y记录进位数 + lda _num_dec, x cmp #10 bcc _skip ; 小于10不进位 + jsr printbyte pha and #$f0 - ror - ror - ror - ror + lsr + lsr + lsr + lsr tay pla and #$0f - adc _num_dec - 1, x - sta _num_dec - 1, x + jsr printbyte + adc _num_dec, x + sta _num_dec, x + jsr chrin tya - dex adc _num_dec - 1, x sta _num_dec - 1, x - inx + jsr chrin _skip: dex bne _loop cld ; 退出bcd模式 - lda #$30 ; 转化为可显示字符 ldx #5 _up: - adc _num_dec - 1, x + lda _num_dec - 1, x + ora #$30 ; 转化为可显示字符 sta _num_dec - 1, x - jsr chrin dex bne _up diff --git a/snake.prg b/snake.prg index a51f2155c8439ba5dcb37166432acff0f8254474..caabdeb15ad5c7739bf1ed7e41f84167a24fd277 100644 GIT binary patch delta 267 zcmaFG{F8Y?F5~lwd2)Bc~4!qnXrug0%O8THi=X|s1#H&E4t#9OcJR) xP&M4G+!?Jrr!E{%SjL83J11DX0@!+pWh+@EQn{h}xmvk0TDgJxC+}i3006&{TX+Bf delta 253 zcmey#{EB%(F5``fd2)=L6MNOY**F!%ITf5Z73w$@&i`M;wv}@M!%40QVjh|wvVdSk zh9-Y0=Ty!ar$FS3Qy1>vSZT0`6~qB5KXu_-#tM%a9xJ&PFeu!Z%*Lov&*8CBAeFb3 zH=~trC8Ig7bzD*>`+C5uEVH$*d6D_2G