Программирование на Ассемблере
text - это
параметр макроса, который подставится на место \"?1\" в макроопределении.
Можно использовать несколько параметров, которые именуются как \"?1\",\"?2\",
\"?3\", итд.
Можно разрешить (или наоборот, запретить) ассемблеру включать макросы в
выходной листинг. Это делается с помощью специальной псевдооперации.
Приведем список всех псевдоопераций ассемблера SEKA:
dc определяет переменную или константу в памяти. Размер псевдооперации
задается суффиксами .B, .W или .L (по умолчанию используется .B).
Текстовые константы можно вводить в кавычках или в апострофах,
например: dc.b \"Hello\",10,13,0
blk резервирует несколько байт, слов или длинных слов в зависимости от
размера псевдооперации. Первый параметр задает число элементов для
резервирования, второй определяет шаблон заполнения, например:
blk.w 10,0 ;резервирует 10 слов, заполняя их нулями
org задает начальный адрес размещения программы, например org $40000
code задает перемещаемый режим ассемблирования программы
data определяет начало сегмента данных
even добавляет нулевой байт, если адрес нечетный
odd добавляет нулевой байт, если адрес четный
end задает конец текста программы
equ,
= используется для задания адреса метки, например: Value = 123, или
Value equ 123
list включать текст в листинг (отмена команды nlist). Можно указать
следующие параметры:
c макровызовы
d макроопределения
e макрорасширения
x расширения кода
Пример: list e ;включать макрорасширения в листинг
nlist не включать текст в листинг. Список параметров такой же, как и у list
page задает начало новой страницы (используется при печати на принтер)
if если параметр этой директивы равен нулю, дальнейший текст
ассемблироваться не будет; задает начало блока условного
ассемблирования
else если параметр директивы \"if\" равен нулю, ассемблирование продолжиться
здесь (альтернативная ветвь)
endif определяет конец блока условного ассемблирования
macro определяет начало макроопределения
endm определяет конец макроопределения
?n используется для ссылки на n-й параметр макровызова
?0 сгенерировать уникальное трехзначное число.
|