mirror of
https://github.com/fumiama/c64-snake.git
synced 2026-06-12 06:00:33 +08:00
调节缩进
This commit is contained in:
@@ -3,6 +3,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
calcscore:
|
calcscore:
|
||||||
.scope
|
.scope
|
||||||
inc s
|
inc s
|
||||||
rts
|
rts
|
||||||
.scend
|
.scend
|
||||||
182
print16.asm
182
print16.asm
@@ -12,92 +12,92 @@ print16:
|
|||||||
txa
|
txa
|
||||||
pha
|
pha
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
ldx #6
|
ldx #6
|
||||||
* sta _num_dec-1, x
|
* sta _num_dec-1, x
|
||||||
dex
|
dex
|
||||||
bne -
|
bne -
|
||||||
|
|
||||||
`splitbyte s, 3
|
`splitbyte s, 3
|
||||||
`splitbyte s + 1, 1
|
`splitbyte s + 1, 1
|
||||||
`carry
|
`carry
|
||||||
`print _num_dec
|
`print _num_dec
|
||||||
|
|
||||||
pla
|
pla
|
||||||
tax
|
tax
|
||||||
pla
|
pla
|
||||||
rts
|
rts
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
; mod函数处理的数据为打印方便均使用大端序存储
|
; mod函数处理的数据为打印方便均使用大端序存储
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
mod_4: ; 高字节低4位若大于10,则向高位进1
|
mod_4: ; 高字节低4位若大于10,则向高位进1
|
||||||
lda _num + 3
|
lda _num + 3
|
||||||
cmp #10
|
cmp #10
|
||||||
bcc +
|
bcc +
|
||||||
sbc #10 ; 此时c为1
|
sbc #10 ; 此时c为1
|
||||||
tax
|
tax
|
||||||
lda #1
|
lda #1
|
||||||
sta _num_dec + 3 ; 进位
|
sta _num_dec + 3 ; 进位
|
||||||
txa
|
txa
|
||||||
* sta _num_dec + 4
|
* sta _num_dec + 4
|
||||||
rts
|
rts
|
||||||
|
|
||||||
mod_3: ; 高字节高4位的值相当于个位加6,十位加1
|
mod_3: ; 高字节高4位的值相当于个位加6,十位加1
|
||||||
ldx _num + 2
|
ldx _num + 2
|
||||||
bne + ; 如果为0直接返回
|
bne + ; 如果为0直接返回
|
||||||
rts
|
rts
|
||||||
* lda #6
|
* lda #6
|
||||||
`carry10 4
|
`carry10 4
|
||||||
lda #1
|
lda #1
|
||||||
`carry10 3
|
`carry10 3
|
||||||
dex
|
dex
|
||||||
bne -
|
bne -
|
||||||
rts
|
rts
|
||||||
|
|
||||||
mod_2: ; 低字节低4位的值相当于个位加6,十位加5,百位加2
|
mod_2: ; 低字节低4位的值相当于个位加6,十位加5,百位加2
|
||||||
ldx _num + 1
|
ldx _num + 1
|
||||||
bne + ; 如果为0直接返回
|
bne + ; 如果为0直接返回
|
||||||
rts
|
rts
|
||||||
* lda #6
|
* lda #6
|
||||||
`carry10 4
|
`carry10 4
|
||||||
lda #5
|
lda #5
|
||||||
`carry10 3
|
`carry10 3
|
||||||
lda #2
|
lda #2
|
||||||
`carry10 2
|
`carry10 2
|
||||||
dex
|
dex
|
||||||
bne -
|
bne -
|
||||||
rts
|
rts
|
||||||
|
|
||||||
mod_1: ; 低字节低4位的值相当于个位加6,十位加9,百位加0,千位加4
|
mod_1: ; 低字节低4位的值相当于个位加6,十位加9,百位加0,千位加4
|
||||||
ldx _num
|
ldx _num
|
||||||
bne + ; 如果为0直接返回
|
bne + ; 如果为0直接返回
|
||||||
rts
|
rts
|
||||||
* lda #6
|
* lda #6
|
||||||
`carry10 4
|
`carry10 4
|
||||||
lda #9
|
lda #9
|
||||||
`carry10 3
|
`carry10 3
|
||||||
lda #4
|
lda #4
|
||||||
`carry10 1
|
`carry10 1
|
||||||
dex
|
dex
|
||||||
bne -
|
bne -
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.scend
|
.scend
|
||||||
|
|
||||||
.macro carry10
|
.macro carry10
|
||||||
clc
|
clc
|
||||||
adc _num_dec + _1
|
adc _num_dec + _1
|
||||||
bcc _skip
|
bcc _skip
|
||||||
pha
|
pha
|
||||||
lda #$10 ; 进位相当于100
|
lda #$10 ; 进位相当于100
|
||||||
clc
|
clc
|
||||||
adc _num_dec + _1 - 1
|
adc _num_dec + _1 - 1
|
||||||
sta _num_dec + _1 - 1
|
sta _num_dec + _1 - 1
|
||||||
pla
|
pla
|
||||||
_skip:
|
_skip:
|
||||||
sta _num_dec + _1
|
sta _num_dec + _1
|
||||||
.macend
|
.macend
|
||||||
|
|
||||||
.macro splitbyte
|
.macro splitbyte
|
||||||
@@ -114,45 +114,45 @@ _skip:
|
|||||||
.macend
|
.macend
|
||||||
|
|
||||||
.macro carry
|
.macro carry
|
||||||
tya
|
tya
|
||||||
pha
|
pha
|
||||||
|
|
||||||
sed ; 设置为bcd加减法
|
sed ; 设置为bcd加减法
|
||||||
jsr mod_4
|
jsr mod_4
|
||||||
jsr mod_3
|
jsr mod_3
|
||||||
jsr mod_2
|
jsr mod_2
|
||||||
jsr mod_1 ; 此时结果中有些位可能大于10,需要进行进位处理
|
jsr mod_1 ; 此时结果中有些位可能大于10,需要进行进位处理
|
||||||
ldx #5
|
ldx #5
|
||||||
_loop:
|
_loop:
|
||||||
ldy #0 ; y记录进位数
|
ldy #0 ; y记录进位数
|
||||||
txa
|
txa
|
||||||
lda _num_dec-1, x
|
lda _num_dec-1, x
|
||||||
cmp #10
|
cmp #10
|
||||||
bcc _skip ; 小于10不进位
|
bcc _skip ; 小于10不进位
|
||||||
pha
|
pha
|
||||||
and #$f0
|
and #$f0
|
||||||
lsr
|
lsr
|
||||||
lsr
|
lsr
|
||||||
lsr
|
lsr
|
||||||
lsr
|
lsr
|
||||||
adc _num_dec-2, x
|
adc _num_dec-2, x
|
||||||
sta _num_dec-2, x
|
sta _num_dec-2, x
|
||||||
pla
|
pla
|
||||||
and #$0f
|
and #$0f
|
||||||
sta _num_dec-1, x
|
sta _num_dec-1, x
|
||||||
_skip:
|
_skip:
|
||||||
dex
|
dex
|
||||||
bne _loop
|
bne _loop
|
||||||
|
|
||||||
cld ; 退出bcd模式
|
cld ; 退出bcd模式
|
||||||
ldx #5
|
ldx #5
|
||||||
_up:
|
_up:
|
||||||
lda _num_dec - 1, x
|
lda _num_dec - 1, x
|
||||||
ora #$30 ; 转化为可显示字符
|
ora #$30 ; 转化为可显示字符
|
||||||
sta _num_dec - 1, x
|
sta _num_dec - 1, x
|
||||||
dex
|
dex
|
||||||
bne _up
|
bne _up
|
||||||
|
|
||||||
pla
|
pla
|
||||||
tay
|
tay
|
||||||
.macend
|
.macend
|
||||||
|
|||||||
Reference in New Issue
Block a user