Это не такой простой вопрос. Для кода, который пишет по разным адресам, вы должны составить правильные инструкции STA
, используя кодировку, которая STA xx
равна 3xx
.
Вот один из способов сделать это:
L LDA COUNT
ADD INS
STA X
LDA COUNT
X HLT
LDA COUNT
ADD ONE
STA COUNT
LDA FIVE
SUB COUNT
BRP L
HLT
COUNT DAT 1
ONE DAT 1
FIVE DAT 5
INS STA 90
Есть счетчик (хранится в COUNT
), который идет от 1 до 5, и каждый раз, когда в цикле L
, он добавляется к 390
(который хранится в INS
) - это создает инструкции STA 91
, STA 92
, .., STA 95
на итерациях 1, 2, 3, 4, 5. Эта инструкция записывается в X
, а затем выполняется с A
, имеющим значение COUNT
, Остальное просто увеличивается COUNT
и останавливается, когда оно становится больше 5.
Вот прямая ссылка, на которой вы можете увидеть этот код, работающий на моем собственном эмуляторе LMC.