From 82e23f60a97b2be1ef498900ccda5d3ea6bbfab4 Mon Sep 17 00:00:00 2001 From: fumiama Date: Sat, 3 Apr 2021 12:21:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BF=AB=E6=88=90=E5=8A=9F=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.asm | 4 ++-- print16.asm | 29 ++++++++++++++++++----------- snake.prg | Bin 466 -> 490 bytes 3 files changed, 20 insertions(+), 13 deletions(-) diff --git a/main.asm b/main.asm index 7db172c..80ec4b5 100644 --- a/main.asm +++ b/main.asm @@ -30,9 +30,9 @@ main: .macro init lda #147 ;清屏 jsr chrout - lda #$bd + lda #$cd sta s - lda #0 + lda #$ab sta s + 1 jsr printscore .macend diff --git a/print16.asm b/print16.asm index 86f421c..8be183d 100644 --- a/print16.asm +++ b/print16.asm @@ -13,9 +13,9 @@ print16: pha lda #0 - ldx #10 -* dex - sta _num - 1, x + ldx #6 +* sta _num_dec - 1, x + dex bne - `splitbyte s, 3 @@ -33,6 +33,7 @@ print16: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; mod_4: ; 高字节低4位若大于10,则向高位进1 + ;jsr chrin lda _num + 3 cmp #10 bcc + @@ -40,8 +41,10 @@ mod_4: ; 高字节低4位若大于10,则向高位进1 tax lda #1 sta _num_dec + 3 ; 进位 + ;jsr chrin txa * sta _num_dec + 4 + ;jsr chrin rts mod_3: ; 高字节高4位的值相当于个位加6,十位加1 @@ -91,12 +94,13 @@ mod_1: ; 低字节低4位的值相当于个位加6,十位加9,百位加 adc _num_dec + _1 bcc _skip pha + lda #$10 ; 进位相当于100 adc _num_dec + _1 - 1 sta _num_dec + _1 - 1 pla _skip: sta _num_dec + _1 - ;jsr printbyte + ;jsr chrin .macend .macro splitbyte @@ -124,26 +128,28 @@ _skip: jsr mod_3 jsr mod_2 jsr mod_1 ; 此时结果中有些位可能大于10,需要进行进位处理 - ldx #4 + jsr chrin + ldx #6 _loop: - lda _num_dec, x + lda _num_dec - 1, x ldy #0 ; y记录进位数 cmp #10 bcc _skip ; 小于10不进位 pha - ora #$f0 + and #$f0 ror ror ror ror tay pla - ora #$0f - sta _num_dec, x + and #$0f + adc _num_dec - 1, x + sta _num_dec - 1, x tya dex - adc _num_dec, x - sta _num_dec, x + adc _num_dec - 1, x + sta _num_dec - 1, x inx _skip: dex @@ -155,6 +161,7 @@ _skip: _up: adc _num_dec - 1, x sta _num_dec - 1, x + jsr chrin dex bne _up diff --git a/snake.prg b/snake.prg index 31e306d2958771f92702477bb6a55e5bdb028b79..a51f2155c8439ba5dcb37166432acff0f8254474 100644 GIT binary patch delta 284 zcmcb_{EB%(fZW+umX)hpSrwu<5>_r-#IJDa|EUYVJZ5;TtX;sNaARVg3=7*-&QlZn z)V$d^6~s9eoH!NgI2F$SU&OYRa{}3)P>s# z%h)e4Cah$WNacgbK$WthDP74Vk;(&6!QIN8(aLk`!l{I1Y*_VjBI%U?*|U;GB9$AW RnX8p6qm>(|dGaDg0{}*hXY>F7 delta 260 zcmaFGe2IBNfZX0zmX!>xtO`*a2`iT^;#auz|I~$F9y2^v)-K>sI506!hK1|YRMv@o zYR>;S6!5A#;H=Ssa!8kU3hq7rNJWB zQqHNIr!M@=SOGE)s2*tCf0cSRk5t}P-i%hhm5dUpyc2+2o>rcWR^C$=?k6l`zrdKV zl1(C&4;u Ic^9Jr08hPLg#Z8m