Если вы хотите увеличить или изменить значение адреса - или любой фрагмент данных - тогда вам нужно знать адрес этого адреса.
На первый взгляд это может показаться немного запутанным, но имейте в виду, что все, с чем работает ЦП, находится либо в области памяти, либо внутри регистра.
Это включает в себя все инструкции и значения, которые выдает ваш компилятор. Таким образом, чтобы увеличить старший байт вашего адреса ($ 4300), вы должны знать, где эти данные на самом деле.
Еще одна вещь, которую нужно знать, 6502 - это «порядковый номер», поэтому инструкции сначала читают младший байт, а затем старший. Таким образом, в памяти ваш адрес $4300
на самом деле будет $00
, за которым следует $43
.
Теперь, есть много разных способов выполнить то, что вы хотите сделать, но вот простой пример:
cool_address: .res 2 ; We reserve 2 bytes somewhere in RAM
; and give it the label cool_address
; so we can easily access it.
...
LDA #$00 ; Put $00 into the Accumulator
STA cool_address ; Store the Accumulator in the 1st byte of address
LDA #$43 ; Put $43 into the Accumulator
STA cool_address+1 ; Store the Accumulator in the 2nd byte of address
; At this point, the 2 bytes at cool_address are
; 00 43
INC cool_address+1 ; Increment 2nd byte of address
; At this point, the 2 bytes at cool_address are
; 00 44
Метка cool_address
теперь может быть присвоена любой инструкции, которая берет адрес, и инструкция будет работать по адресу $4400
.