У меня вопрос о языке ассемблера 6502. Я пытаюсь изучить его с помощью этого веб-сайта https://skilldrick.github.io/easy6502/.
По теме режимов адресации. Я не понимаю режим косвенной адресации. См. Пример исходного кода ниже.
LDA #$01
STA $f0
LDA #$cc
STA $f1
JMP ($00f0) ;dereferences to $cc01
Почему JMP ($00f0)
разыменован на $cc01
вместо $01cc
.
Моя память выглядит так
00f0: 01 cc 00 00 00 00 00 00 00 00 00 00 00 00 84
Здесь вы видите, что 00f0
начинается с 01
, а затем следует cc
, поэтому мне кажется более логичным, что инструкция перехода будет разыменовываться на $01cc
, но почему это каким-то образом изменилось?