有没有办法以编程方式从6502的操作码确定寻址模式?

时间:2014-09-16 11:47:08

标签: emulation opcode addressing-mode 6502

即。在操作码中以某种方式编码的不同寻址模式是什么?它们是否可以通过编程方式提取,或者此信息仅存在于6502的文档中?我正在写一个模拟器而我并不关心性能。如果可能的话,拥有一个采用操作码并返回寻址模式的函数会很好。

到目前为止,我没有发现任何迹象表明代码中有一个模式,除了所有零页面指令似乎都设置了第三位。

1 个答案:

答案 0 :(得分:4)

是的。寻址模式在操作码字节中的位置4-2处以3位编码(即xxxAAAxx)。解码寻址模式取决于其他位,但它们符合常规模式(大部分),可以通过查找表删除以确定每种指令类型的模式。

This页面详细描述了各种模式以及如何在每种情况下进行解码。