Как LEA инструкция хранит адрес A?
Это основано на этом вопросеИнструкция LEA
Вот сегмент кода, у меня есть вопрос о
.ORIG X3700
LEA R0, A
.....
A .FILL X1234
@Paul R, отвечающий на ответ, сказал, что «источником кода является x3700, и у вас есть 12 инструкций, поэтому адрес A будет x3700 + x0C = x370C. Как вы уже догадались, LEA R0, A загружает адрес A в R0, поэтому R0 будет содержать x370C после того, как будет выполнена первая инструкция. "
Я согласен с первой частью сказанного Полом, его рассуждений о том, почему адрес А равен x370C. В этом есть смысл.
Меня смущает следующая часть: «LEA R0, A загружает адрес A в R0». Это слайд, на который я ссылаюсь по инструкции LEA. Lc3 LEA5-23
В отличие от команд ADD и AND, инструкция LEA имеет только один режим (ссылка указывает оба режима для ADD и AND.
На этой диаграмме вторая часть LEA, A должна быть PCoffset 9. Однако значение A равно 4660 (в десятичном виде) от A .FILL X1234, которое находится за пределами диапазона PCoffset 9, который составляет от -256 до 255).
Кто-нибудь может объяснить, что происходит? Я использую неправильную диаграмму в качестве ссылки? Есть еще один режим LEA?