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

Запуск и работа ассемблера.

Перед ассемблированием текста программы необходимо установить тип кроссассемблера клавишей <F7>, после чего можно произвести трансляцию файла в активном окне, нажав <F8>. При обнаружении ошибок, экран разбивается на два окна - в одном текст транслируемого модуля, в другом - список сообщений об ошибках или предупреждениях. В этом случае, после завершения трансляции, активным (текущим) становится окно с перечнем ошибок. Просто нажмите <S8>. Теперь редактор может указать конкретно, в какой строке какая ошибка возникла - для этого нажмите <F6> или <S6> (см. таблицу выше).

Кроссассемблер создает файл, содержащий машинные коды программы в формате S-records (описание формата S-records приведено в конце данного раздела). Этот файл имеет расширение "sRecords" и располагается в пользовательском каталоге.

Прежде чем запустить программу в отладочном модуле, необходимо переписать объектный файл в ОЗУ ОЭВМ. Для этого необходимо нажать клавишу F9, после чего сервер выдаст сообщение о том, что он готов к выгрузке и ожидает команду от ОМ. Далее комбинацией <Ctrl-A> производится выход из прозрачного режима и возврат в монитор. Загрузка объектного кода в ОЗУ производится командой LOAD h=@.

Если Вы хотите загрузить готовый объектный код, не повторяя трансляции, загрузите исходный текст программы, установите тип кроссассемблера (!!!) и сразу нажмите <F9>. Далее следуйте вышеописанному протоколу работы.

1.1.4. Кросс-ассемблер. Формат исходной программы. Формат оператора.

Исходная программа составляется из команд (операторов) языка ассемблер. Каждый оператор должен быть записан на одной строке. Строка может содержать до 80 символов. Операторы ассемблера имют 4 поля, которые распознаются по порядку следования внутри строки и разделяются символами между полями. Основной формат оператора следующий:

[метка:] Команда операнд [;комМентарии]

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

Поле метки.

Метка - это определяемый пользователем элемент программы на языке ассемблера, который ставится в соответствие адресу текущей команды. Метку можно использовать в командах перхода и присваивания, указывая вместо адреса ячейки надлежащую метку. При описании метки можно использовать символы: A-Z, a-z, 0-9, . (точка), $ (знак доллара) и _ (подчеркивание). Поле метки отделяется от следующего поля двоеточием (:).

Примечания:

·метка не может начинаться с цифры;

·метка может иметь произвольную длину, но только первые 8 символов являются значащими.

Поле команды.

Поле команды определяет выполняемую ассемблером функцию. В поле команды может содержаться либо мнемоника команды, либо директива ассемблера (см. ниже). Все лишние пробелы и табуляции перед и после команды отбрасываются. Поле команды отделяется от поля операнда пробелом(ами) или табуляцией.

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

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

Унарные операторы.

символ

назначение

пример

знак меньше (<)

младший байт значения выражения

<0h0800=0h00

знак больше (>)

старший байт значения выражения

>0h0800=0h80

çíàê ïëþñ (+)

положительное значение

+23=23

знак минус (-)

отрицательное значение (инверсия старшего бита)

-0h13=0h93

тильда (~)

инверсия числа

~0h00=0hFF

апостроф (')

код символа

'À=0h41

кавычки (")

код строки

"AB=0h4142

Соседние файлы в предмете Отладка микроконтроллеров ЭВМ