jnh*_*hyf 9 assembly hex loops 6502 while-loop
我正在尝试用6502处理器在汇编中编写while循环,我无法弄清楚如何编写十六进制代码.我已经看过使用简写编写的示例,其中有一个标签,表示循环应该从哪里开始和结束但是我没有看到任何实际的十六进制代码.
我认为有用的两个代码是:
这里是您开始的地方:http://www.obelisk.demon.co.uk/6502/.该页面具有可在PC上运行的交叉汇编程序.这可能是一个很好的开发平台.
在做任何事情之前,你必须了解6502的操作理论.然后你必须了解软件开发过程,包括:
- 准备一个"源文件",所谓的符号指令,你称之为"速记"
- 使用汇编程序,将该源文件
翻译成6502理解的机器指令- 将翻译加载到6502中
- 告诉6502执行翻译的机器指令
您的示例程序尝试将LEN内存字节从中复制SRC到DST.
你这样格式化:
LDX #0 ; Start with the first byte
_LOOP LDA SRC,X ; load a byte from SRC into the A register
STA DST,X ; store that byte into DST
INX ; bump the index register to point to the next SRC and DST locations
CPX #LEN ; have we moved LEN characters?
BNE _LOOP ; if not, go move the next one
Run Code Online (Sandbox Code Playgroud)
添加更多语句行后(END例如); 并且,在你定义SRC之后DST,和LEN,你将整个东西保存在一个名为的文件中,比方说吧cploop.txt.
然后你告诉汇编程序翻译它.汇编程序提供了一个二进制6502机器代码文件,可以表示为您正在讨论的十六进制字节.
您将该机器代码文件提供给模拟6502.然后您以某种方式告诉6502执行机器代码所体现的操作.
| 归档时间: |
|
| 查看次数: |
13478 次 |
| 最近记录: |