Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
86
Добавлен:
16.04.2013
Размер:
249 Кб
Скачать
☆

Формат транслируемой строки.

Трансляция программы ассемблером монитора TUTOR может производиться только в построчном режиме (см. команду монитора изменения содержимого памяти MM). В каждой строке размещается одна команда MC68000 (или директива), включающая в себя поле мнемоники команды и поля ее операндов. Общий формат строки:

sp<поле команды>sp[<поле операндов>]

,где sp - пробел (один или более).

Поле команды

В этом поле должно находится мнемоническое обозначение команды процессора или директивы ассемблера. Символы B, W или L, следующие через точку (.) непосредственно после мнемоники, определяют разрядность данных, которые использует данная команда:

B = байт (8-разрядные данные)

W = слово (размер по умолчанию, 16-разрядные данные)

L = длинное слово (32-разрядные данные)

Размер операндов указывается только для команд, использующих атрибут размера данных.

Поле операндов

При необходимости, за полем команд может следовать операнд, который отделяется от поля команд по крайней мере одним пробелом. Между собой операнды разделяются запятыми.

Формат реассемблируемой строки

Формат реассемблируемой строки визуально может не совпадать с форматом строки, транслируемой реассемблером. Реассемблер производит переобозначение числовых величин в соответствие со следующим правилом: если число определяется как адрес или "подразумевается" адресом, то оно отображается в шестнадцатеричном виде (перед числом ставится символ "$"); во всех остальных случаях число отображается в десятичном формате. Например, если начиная с ячейки $500 в памяти записан машинный код команды MOVE.L #$1234,$5678 , при реассемблировании этой команды высветится следующая строка:

00500 21FC000012345678 MOVE.L #4660,$00005678

Для некоторых команд существуют две допустимые мнемоники для одного и того же машинного кода или имеется более одного эквивалента на языке ассемблера. Реассемблер может выбирать мнемонику, отличную от первоначально введенной. Например:

BRA выводится вместо BT и

DBF выводится вместо DBRA.

Примечание. Ассемблер распознает две формы мнемоник двух команд переходов. Форма BT имеет тот же самый машинный код, что и команда BRA. Аналогично, DBRA и DBF являются различными формами одной и той же команды. В любом случае ассемблер воспринимает обе формы.

Мнемонические обозначения и специальные символы

Ассемблер распознает все мнемоники команд MC68000, за исключением запрещенных. Числовые величины могут быть записаны в шестнадцатеричном или десятичном виде. Перед шестнадцатеричной величиной должен стоять символ "$" (например $AFE5); десятичная величина подразумевается по умолчанию или перед ней ставится символ "&" (1234 эквивалентно &1234).

Один или несколько ASCII символов, заключенных в апострофы (') представляют ASCII строку (см. также директиву DC.W). Символы этой строки ассемблируются в соответствующие им ASCII коды, например:

005000 5300 DC.W 'S'

005002 223C41424344 MOVE.L #'ABCD',D1

005008 3536 DC.W '56'

Мнемонические обозначения регистров процессора MC68000 имеют следующий вид:

D0-D7 Регистры данных.

A0-A7 Регистры адреса. Регистр A7 представляет собой указатель стека для текущего режима.

USP Указатель стека пользователя.

CCR Регистр флагов (младший байт регистра SR).

SR Регистр состояния.

PC Счетчик команд.

Соседние файлы в папке Motorola - Описание лаб