Отображение памяти кода сборки 68000
Мне нужна помощь в этом вопросе. Мне нужно нарисовать карту памяти, и у меня есть
вот код
ORG $6080;
CAT EQU 5;
DOG DC.L CAT;
Hourse EQU 1;
Я не получаю после линии ORG, может кто-нибудь сказать, как я могу нарисовать карту памяти
2 ответа
Это моя попытка понять, чего хочет ваш лектор. Их выбор кода sudo интересен.
ORG, вероятно, ссылается на число, хотя это может быть адрес памяти.
CAT тогда, вероятно, является переменной в регистре. EQU говорит, что CAT равен 5.
DOG также, вероятно, является переменной в регистре. Абсолютная дальняя адресация используется, чтобы сказать, чему равен СОБАКА. Другими словами, DOG равен DC.L с индексом 5.
Hourse - это еще одна переменная в регистре, и она равна 1.
Теперь таблица может быть создана (карта памяти), куда мы идем
Variable | Value | Address
ORG 1 ?
CAT 5 ?
DOG ? DC.L indexed by 5
Hourse 1 ?
Вы можете определить, в каких ячейках памяти они находятся, в разделе данных сборки. Затем вы можете заполнить адресные вопросительные знаки. Фактическое сохраненное значение является произвольным, но только включено для контекста.
Давайте разберемся с этим:
ORG $6080; // Defines the start of data/code
CAT EQU 5; // Defines a constant with value 5, does not allocate any memory
DOG DC.L CAT; // Defines a 32bit variable in memory, sets value to CAT (5)
Hourse EQU 1; // Defines a constant with value 1, does not allocate any memory
Итак, теперь, когда вы знаете начало блока и что помещено в память, а что нет, вы можете нарисовать карту памяти этого блока. Он будет содержать одно 32-битное значение.