我正在制作一个6502仿真器(之后我会模仿其他NES组件来创建一个功能齐全的NES仿真器),并且我遇到了分支条件指令(相对)。现在,我想知道的是,被认为保存为二进制补码的字节还是常规的负字节?这就是我的意思是: 在6502个文件之一(当然非官方)也给出了这样的例子: BEQ $A7 ;Branch-on-equal with value 0xA7
$F0 $A7 ;Translation int
我正在为6502写一个模拟器,基本上,有一些指令,其中一个寄存器(主要是X和Y)保存偏移量,我想知道,因为分支指令使用带符号的8位整数,寄存器的值是否保持为8位?这意味着: switch(opcode) {
//Bunch of opcodes
case 0xD5:
//Read the memory area with final address being add
; We now have about 30,000 cycles to burn before the PPU stabilizes.
; One thing we can do with this time is put RAM in a known state.
; Here we fill it with $00, which matches what (say) a C compil
所以我想弄清楚如何绕过LDX没有间接索引的选项,但我都运气不好。 (漂亮的新汇编) 我使用LDA(arrPoint),Y加载从int数组中获取MSB,我想使用LDX(arrPoint),Y获取LSB。 关于如何写这个的任何提示,以便我可以使用间接索引X寄存器? 这是我的一些代码,其中arrPoint位于内存$ 1000,slask是2数据位。 getInt:
ASL
STA $