Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы / Lab_moto / 1.doc
Скачиваний:
16
Добавлен:
16.04.2013
Размер:
211.97 Кб
Скачать

Поле комментариев.

Поле комментариев начинается с точки с запятой (;) и заканчивается концом строки. Это поле необязательное и может содержать любые 7-ми битовые ASCII символы, т.е. латинские буквы, цифры и знаки.

Элементы программы, определяемые пользователем.

Элементы программы, определяемые пользователем - это те элементы, которые определены посредством оператора присваивания (переменные) или объявлены как метки.

При определении элементов программы должны выполняться следующие требования:

·могут быть использованы только буквы латинского алфавита обоих регистров, цифры, знак доллара ($), точка (.) и подчеркиватель (_);

·первым символом не может быть цифра;

·элемент может состоять из произвольного числа элементов, но первые 8 символов должны быть уникальными;

·в элементе не должно быть пробелов и табуляций.

Директивы ассемблера.

Директивы ассемблера располагаются в поле команды и выполняют функции управления процессом ассемблирования. В каждой строке может быть расположена только одна директива.

Директива .area.

В начале каждой программы должна находиться директива:

.area SYS (ABS,OVR)

Назначение этой директивы не рассматривается. Использование - обязательно.

Директивы .byte и .db.

.byte данные1[,данныеN]

.db данные1[,данныеN]

Директивы .byte и .db размещают в памяти 8-битовые данные. При попытке разместить 16-ти битовые данные старший байт будет отброшен.

Примеры:

lab1: .byte 0h34 ;определить по адресу lab1 1 байт со значением $34

lab2: .db 12,23 ;определить по адресу lab2 2 байта

Директивы .word и .dw.

.word данные1[,данныеN]

.dw данные1[,данныеN]

Директивы .word и .dw размещают в памяти 16-ти битовые данные.

Примеры:

lab1: .word 0hFFFE ;определить по адресу lab1 2 байта: $FF и $FE

lab2: .dw 0d65535,3434 ;определить в памяти 2 слова

Директивы .blkb, .blkw, и .ds.

.blkb N

.blkw N

.ds N

Директивы .blkb и .ds резервируют N свободных байтов, а .blkw - N свободных слов.

Примеры:

lab1: .blkb 7 ;зарезервировать 7 свободных байт

lab2: .blkw 0d255 ;зарезервировать 510 байт

lab3: .ds 3 ;зарезервировать 3 байта

Директивы .ascii и .asciz.

.ascii строка4

.asciz строка

Директивы .ascii и .asciz размещают в памяти строку 7-ми битных ASCII символов. Директива .asciz добавляет в конец строки символ NULL (0).

Примеры:

lab1: .ascii "ABC" ;разместить по адресу lab1 строку ABC

lab2: .asciz 'HELLO' ;разместить строку HELLO/0

Директива .radix.

.radix символ

Директива .radix устанавливает систему счисления. Символ в определении команды должен соответствовать одному из символов:

B, b - двоичная система;

O, o, Q, q, @ (коммерческое at) - восьмеричная система;

D, d, пустое поле операнда - десятичная система;

H, h, X, x - шестнадцатиричная система.

Директива .org.

.org адрес

Директива .org размещает дальнейшую часть программы с адреса, указываемого в поле операнда.

Пример:

.org 0h3000 ;разместить программу с адреса 3000h

Сообщения об ошибках.

Ассемблер ASM05 в процессе ассемблирования обеспечивает диагностику некоторых ошибок и отображает сообщения в виде специальных символов:

(.) ошибка использования счетчика текущего положения;

(a) ошибка метода адресации (несоответствие пределов и т.п.);

(b) ошибка границы прямой адресации;

(d) ошибка при использовании прямой адресации;

(m) ошибка, вызванная повторным определением метки;

(o) ошибка, вызванная либо неправильным именем директивы или неправильной мнемоникой, либо использованием директивы .org в перемещаемой области (забыта директива .area);

(p) ошибка, вызванная изменением положения метки между вторым и третьим проходом (как правило случается при более чем одном уровне обращения к впереди стоящей метке);

(q) неправильный синтаксис: пропущен или неуместен оператор, разделитель полей или операндов.

(r) ошибка перемещения;

(u) неопределенный символ.

Соседние файлы в папке Lab_moto