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 6e1813b..50e33bf 100644 Binary files a/snake.prg and b/snake.prg differ