gpt4 book ai didi

assembly - 自修改内存复制例程练习,6502 ASM

转载 作者:行者123 更新时间:2023-12-04 23:41:46 25 4
gpt4 key购买 nike

下面是我在 Commodore 64 上进行内存复制的自我修改例程。

我写了 char codesnumber of repeats在一个表中并用这个例程填充 screen_ram 。

我正在寻找优化建议。在这种情况下,我的优先事项是内存。

memCopy:    
sourceAddress=*+1 ; mark self modifying addrres
fetchNewData:
lda data_table ; read char value into A
ldx data_table+1 ; read repeat value into x
inc sourceAddress
inc sourceAddress

cpx #00 ; if X=0
beq end ; finish copying

destination=*+1
- sta SCREEN_RAM
inc destination
dex
bne -

jmp fetchNewData

end:
rts

; data format: <char>,<number of repeats>,[<char>,<number of repeats>,...],00,00

data_table:
!by 01,03,02,02,......,00,00

最佳答案

JMP fetchNewData -> BEQ fetchNewData .搬家 INC sourceAddress之后 BEQ end并且不需要来自 CPX #0 (在 LDX 之后)。少了 3 个字节。

关于assembly - 自修改内存复制例程练习,6502 ASM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35316763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com