From 90d98208e603f988c3a60ef0307a3e1ab11f30a7 Mon Sep 17 00:00:00 2001 From: fumiama Date: Thu, 1 Apr 2021 23:28:51 +0800 Subject: [PATCH] mod --- main.asm | 5 +++-- print16.asm | 37 +++++++++++++++++++------------------ snake.prg | Bin 278 -> 299 bytes 3 files changed, 22 insertions(+), 20 deletions(-) diff --git a/main.asm b/main.asm index 440c64d..d4d7593 100644 --- a/main.asm +++ b/main.asm @@ -30,9 +30,10 @@ main: .macro init lda #147 ;清屏 jsr chrout - lda #$a8 + lda #$ac sta s - ;sta s + 1 + lda #0 + sta s + 1 jsr printscore .macend diff --git a/print16.asm b/print16.asm index 86520a5..1ea1a31 100644 --- a/print16.asm +++ b/print16.asm @@ -6,6 +6,7 @@ print16: .scope .data zp .space _num 6 +.space _num_dec 6 .text pha txa @@ -15,12 +16,13 @@ print16: ldx #6 * dex sta _num, x + sta _num_dec, x bne - `splitbyte s, 4 `splitbyte s + 1, 2 `carry - `print _num + `print _num_dec pla tax @@ -29,23 +31,22 @@ print16: mod10: lda _num, y - ldx #$ff - clc -* inx - ;jsr printbyte - sbc #9 - ;jsr printbyte - ;dey - ;rts - bcc - - clc - adc #$3a - sta _num, y - txa + cmp #10 ; 4位的数只有大于/小于10两种情况 + bmi + ; 小于等于10 + adc #$25 ; 此时c=0 + sta _num_dec, y + jsr printbyte dey - adc _num, y - sta _num, y - rts + lda #1 + adc _num_dec, y + sta _num_dec, y + jsr printbyte + iny + jmp ++ +* adc #$2f ; 此时c=1 + adc _num_dec, y + sta _num_dec, y +* rts .scend .macro splitbyte @@ -70,7 +71,7 @@ mod10: ldy #4 * jsr mod10 - ; dey + dey bne - lda #$30 clc diff --git a/snake.prg b/snake.prg index 6e1813b98f73e3babc0354e8554806f862c37db3..50e33bf88b17668d9c6510c7b82b203739f58cba 100644 GIT binary patch delta 171 zcmbQnw3=x`fXbRymX!>xtO`*a2`iT^;#auz|I~$F9y2^v)-K>skmSr*k)hB$u|SGt zD$j+V6MIxku5xr-__fkNB9*O`En@{pA#Ie$VO(>HAZ0VPk3P2iUMyqg($O49q!XMax0w*qf GO8@{;SwsK; delta 172 zcmZ3@G>vIOfX#|l7KJd5gq6z{@he>Vf9k?7j~N~-D;IDmuyAIq$WW-~fQcsrJNpN@ zGI(@(tYlckc4{iyh2Ik=sivOexbSD_h12kY2V03=q8;t1=RHvN0_BFY)3f z=Y-!9nN~B|7`i$t*%*Lyf=4S)m&YQGl?H4)nG9f?zpPXM(jZ-}ye)hS7&h{LU;_%A IxbQ6j06d9E_5c6?