2015-10-10 1 views
0

Я дал вопрос такой:LongWord переменная памяти Местонахождение (Motorolla 68k)

A longword variable is stored in memory at address $001F00. What are the 
addresses of the longword variables immediately before and after the variable? 

Поскольку длинное слово использует 32 бита, он будет использовать 8 из полубайты адреса (001F00), но этот адрес составляет всего 6 бит, поэтому я не уверен, как я буду искать следующий адрес памяти, а также предыдущий. Любая помощь приветствуется.

+0

Какой размер имеет наименьший адресный блок * есть? Это окчетт или что-то еще? – Deduplicator

+0

Вопрос не указывает: /, мы обычно имеем дело с октетами (8 глаголов в этом классе), но на этот вопрос только 6 из них. – user3739406

+0

А? Октет - 8 бит. Прикуривание обычно составляет 4 бита или какая-либо другая удобная часть наименьшей адресуемой единицы, если последняя больше. – Deduplicator

ответ

1

Адрес указан как шестнадцатеричное число, но это не имеет значения. Это всего лишь 24-битное число, представляющее местоположение в памяти.

Каждый адрес соответствует одному байту в памяти. Адрес байта, следующий за номером $001F00, равен $001F01.

Как длинное слово использует четыре байта, адрес следующего длинного слова четыре больше, то есть $001F04. Предыдущее длинное слово четыре меньше, то есть $001EFC.

+0

Итак, следующий - $ 001f04, но как вы получите предыдущее значение, то есть как вы вычтите, чтобы получить $ 001EFC. – user3739406

+0

@ user3739406: Это просто то, что вы получаете при вычитании 4 из '$ 001F00'. Шестнадцатеричное значение '1F00' совпадает с десятичным значением' 7936'. Вычитание 4 дает вам '7932', который является« 1EFC »в шестнадцатеричном формате. – Guffa