12. ПЕРЕЧЕНЬ КЛЮЧЕЙ AS.COM и LINK.COM Version 1.1
12.1 КЛЮЧИ АССЕМБЛЕРА AS.COM
Ключи ассемблера предназначены для задания режимов трансляции и режимов вывода листинга на все время транс-
ляции файла, и применяются, когда требуется изменить режим трансляции по умолчанию или отменить действие опре-
деленных команд управления листингом и директив ассемблера.
Они пишутся либо перед, либо после имени транслируемого файла, при этом большие и маленькие буквы не разли-
чаются.
Для лучшей читаемости *.bat файлов все ключи допускают расширение имени, один из возможных вариантов кото-
рого приведен в квадратных скобках. В расширение может входить любой символ, кроме "/",13," " и цифр (цифры
нельзя включать в расширение, если ключу требуется числовой аргумент). Проверяются только первые 3 знака клю-
ча.
Числа, используемые в качестве аргументов ключей, по умолчанию задаются в десятичной системе счисления, но
можно и определить число как шестнадцатиричное или двоичное, начав его со знаков # или %. Числа пишутся сразу
после ключа без пробелов.
/оЬ,][ес1;]число
- задает размер объектного файла в блоках равным введенному сразу после /obj числу.
/obj[ect] [путь][имя_файла[.расш-ие]]
- задает путь и имя объектного файла. Пробел после символа ключа обязателен.
/sym[bolб]число
- задает размер файла-таблицы локальных символов (локальной части UST) в блоках равным введенному
сразу после /sym числу.
/sym[bols] [путь][имя_файла[.расш-ие]]
- задает путь и имя файлатаблицы лок.символов пользователя. Бывает полезен для размещения ее на
быстром устройстве (например, на электронном диске).
/.ке[у]число
- помещает в таблицу локальных символов пользователя символ .KEY и присваивает ему значение чис-
ла, введенного сра^у после имени ключа. Число может быть от 0 до 65535.
Этот ключ позволяет управлять генерацией кода трансляции прямо из командной строки или из ко-
мандных файлов, если в текст программы включать символ .KEY в аргументы директив .IF.
Возможно независимое управление до 16-ю блоками условной трансляции или генерация одного из
65536 вариантов программы (т.е. управление 65536-ю взаимоисключающими блоками).
Также возможна комбинация независимого и взаимоисключающего управления.
Например, /.кеу%101 включит трансляцию для 1-ого и 3-его блоков условной трансляции в следую-
щем фрагменте программы:
IF .KEY&%1
блок 1
END
IF .КЕY&%10
блок 2
END
IF .KEY&%100
блок 3
END
/-rus
- запрещает использование русских букв в символах, определяемых пользователем (в метках, констан-
тах и макрокомандах). При этом встреча русской буквы в этих символах будет вызывать появление
ошибки *Error*22.
/+rus
- разрешает использование русских букв в символах, определяемых пользователем (в метках, констан-
тах и макрокомандах).
/-ob[j]
- приводит к трансляции без генерации объектного модуля *.obj.
/-ob[з]число
- действует аналогично предыдущему ключу, но одновременно определяет адрес трансляции модуля рав-
ным числу (0-65535), стоящему сразу после ключа.
Последние два ключа применяются для отладочной трансляции и для генерации настроенного на заданный адрес
листинга трансляции модуля.
Далее идет описание ключей, управляющих выводом листинга трансляции:
/1р[(напринтер)]
- переключает вывод листинга трансляции на принтер.
/-st[op]
- выключает отработку команд останова *S(пауз) во время выдачи листинга.
/-er[ror]
- выключает отработку остановки при возникновении ошибки трансляции.
/scr[ol1]
- устанавливает поэкранный режим вывода листинга на экран (когда после каждого нового заполнения
окна листинга появляется вопрос SCROLL? и ожидается нажатие любой клавиши для продолжения
скроллинга).
/cut
- устанавливает режим, когда ассемблер обрезает строку листинга, если она не помещается по длине
окна.
/+1[ist]
- заставляет выводить листинг, игнорируя команды *L- .
/-1[ist]
- подавляет вывод листинга; при этом команды *L+ игнорируются.
/+if
- разрешает выдачу строк блоков условной трансляции, даже если трансляция была выключена одной из
директив условной трансляции.
/-if
- исключает из листинга строки блоков условной трансляции, если трансляция была выключена.
/+a[dress]
- включает в формат вывода строки листинга адрес соответствующей этой строке команды Z80 или бло-
ка данных ( текущее значение программного счетчика ).
/-a[dress]
- исключает из формата вывода строки текущее значение программного счетчика.
/+c[ode_list]
- включает в формат вывода строки поле данных (код оттранслированной команды Z80 или блок дан-
ных). Длина этого поля может быть изменена директивой управления листингом .CODE выражение по
ходу трансляции, и ключом /соЬчисло на все время трансляции.
/-c[ode_list]
- исключает из формата вывода строки поле данных.
/+п[umber]
- включает в формат вывода строки ее номер во входном текстовом файле.
/-n[umber]
- исключает номер из формата вывода строки.
/+t[ext]
- включает в формат вывода строки текст из входного файла.
/-t[ext]
- исключает текст из формата вывода строки.
/сос![е]число
- устанавливает длину поля данных ( кода ) строки листинга на все время трансляции равным значе-
нию "число".
/+h[ex]
- приводит к установке 16-ричного формата вывода адреса инструкций или блоков данных.
/+d[ec]
- приводит к установке 10-ричного формата вывода адреса инструкции или блока данных.
/+o[ct]
- приводит к установке 8-ричного формата вывода адреса инструкции или блока данных.
Режимы "по умолчанию".
Если начать трансляцию без указания ключей и имени выходного файла, то она будет проходить з режиме "по
умолчанию", описанном в таблице.