Мне ничего не нужно освежать. Обычно я спрашиваю, как можно закодировать строку данных в сегменте данных двоичного файла для выполнения на голом железе< /а>.
Цель? Скажем, я пишу загрузчик, и мне нужно определить статические данные, используемые в файле, чтобы представить строку для перемещения по адресу памяти, например, с Проблема Genesis TMSS.
Я предполагаю, что двоичное кодирование адреса буквально переводится как двоичный эквивалент его шестнадцатеричного представления в отображении памяти Motorola 68000, так что на данный момент это не проблема.
Проблема в том, как мне кодировать строки/символы/глифы в двоичном коде для кодирования в коде операции M68000k? Я прочитал руководство, ссылки и т. д., и ни один из них не коснулся этого (из того, что я прочитал).
Скажем, я хочу закодировать move.l #'SEGA', $A14000
. Я бы получил этот результирующий код операции (не учитывая, как кодировать символы ASCII):
0010 1101 0100 0010 1000 0000 0000 0000
Полубайт 1 = ДЛИТЕЛЬНОЕ ПЕРЕМЕЩЕНИЕ, Полубайт 2 = РЕЖИМ АДРЕСАЦИИ ПАМЯТИ, Следующие три байта равны адресу.
Мой вопрос в том, могу ли я кодировать каждую строку в буквальном ASCII для каждого символа как часть предыдущего фрагмента инструкции MAM?
В этот момент я запутался и надеялся, что кто-нибудь может знать, как кодировать текст данных в инструкции.
#'SEGA'
должно совпадать с#0x53454741
). Если вы просто пишете ассемблерный код, который компилируется с помощью существующего ассемблера, то почему бы просто не позволить этому ассемблеру разобраться с кодированием инструкций? - person Michael   schedule 03.01.2014