Редактирование: Псевдооператоры и метки (1.24)

Перейти к навигации Перейти к поиску
Внимание: Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы войдёте или создадите учётную запись, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.

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

Текущая версия Ваш текст
Строка 20: Строка 20:
== Идентификаторы ==
== Идентификаторы ==
Могут заменять собой любое число в командах вместо адреса или
Могут заменять собой любое число в командах вместо адреса или
номера регистра. Должны быть определены псевдооператором "[[.EQU]]".
номера регистра. Должны быть определены псевдооператором ".EQU".
Допустимое количество идентификаторов - не более 10000.
Допустимое количество идентификаторов - не более 10000.


Строка 26: Строка 26:
Записываются в строке текста после символа точки с запятой до
Записываются в строке текста после символа точки с запятой до
конца строки. Кодировка может быть 866 или 1251, текущее состояние
конца строки. Кодировка может быть 866 или 1251, текущее состояние
устанавливается псевдооператором "[[.CHARSET]]".
устанавливается псевдооператором ".CHARSET".


== Псевдооператоры ==
== Псевдооператоры ==
Используются для управления процессом компиляции.
Используются для управления процессом компиляции.


[[.ORG]] - устанавливает текущий адрес. Должно следовать число
.ORG - устанавливает текущий адрес. Должно следовать число
от 0 до 9999 или определенный ранее идентификатор
от 0 до 9999 или определенный ранее идентификатор


[[.PAGE]] - эквивалентно [[.ORG]] со следующей страницы, параметров нет.
.PAGE - эквивалентно .ORG со следующей страницы, параметров нет.


[[.OPT]] - параметр оптимизации. Параметр 1 разрешает использовать
.OPT - параметр оптимизации. Параметр 1 разрешает использовать
шестнадцатиричные адреса и номера регистров. Параметр 0 - запрещает.
шестнадцатиричные адреса и номера регистров. Параметр 0 - запрещает.
Другие значения зарезервированы - не использовать.
Другие значения зарезервированы - не использовать.


[[.CHARSET]] - кодировка русских букв. Параметр - число 866 или 1251.
.CHARSET - кодировка русских букв. Параметр - число 866 или 1251.
Влияетна разбор текста ("[[.TEXT]]") и комментарии.
Влияетна разбор текста (".TEXT") и комментарии.


[[.EQU]] - устанавливает значение идентификатора равное числу.
.EQU - устанавливает значение идентификатора равное числу.
Идентификатор записывается перед оператором, число после него.
Идентификатор записывается перед оператором, число после него.
Допускается не более одного определения в строке.
Допускается не более одного определения в строке.


[[.DB]] - вводит строку байт, разделенных запятыми от этого оператора до  
.DB - вводит строку байт, разделенных запятыми от этого оператора до  
комментария или до конца текущей строки текста. Каждое число должно
комментария или до конца текущей строки текста. Каждое число должно
быть от 0 до 255 и может быть записано как 0h - 0FFh. Допускается
быть от 0 до 255 и может быть записано как 0h - 0FFh. Допускается
также использование идентификаторов и меток.
также использование идентификаторов и меток.


[[.DA]] - вводит строку чисел от 0 до 9999 (или до 16665 при "[[.OPT]] 1") от оператора
.DA - вводит строку чисел от 0 до 9999 (или до 16665 при ".OPT 1") от оператора
до конца строки или до комментария.
до конца строки или до комментария.
Каждое число интерпретируется как адрес и занимает 2 байта. Младший байт
Каждое число интерпретируется как адрес и занимает 2 байта. Младший байт
положение на странице (остаток от деления на сто), старший байт - номер
положение на странице (остаток от деления на сто), старший байт - номер
страницы. Допускается использование меток и идентификаторов. Числа вводятся в формате [[BCD]].  
страницы. Допускается использование меток и идентификаторов. Числа вводятся в формате BCD.  


[[.DAH]] и [[.DAL]] - аналогичны "[[.DA]]", но вводят только один байт из числа
.DAH и .DAL - аналогичны ".DA", но вводят только один байт из числа
- старшую или младшую часть соответственно.
- старшую или младшую часть соответственно.


[[.DD]] - вводит строку чисел от 0 до 9999 (или до 16665 при "[[.OPT]] 1") от оператора
.DD - вводит строку чисел от 0 до 9999 (или до 16665 при ".OPT 1") от оператора
до конца строки или до комментария.
до конца строки или до комментария.
Каждое число интерпретируется как адрес и занимает 2 байта. Младший байт
Каждое число интерпретируется как адрес и занимает 2 байта. Младший байт
положение на странице (остаток от деления на сто), старший байт - номер
положение на странице (остаток от деления на сто), старший байт - номер
страницы. Допускается использование меток и идентификаторов.  
страницы. Допускается использование меток и идентификаторов.  
Числа вводятся в шестнадцатеричном формате.
Числа вводятся в шестнадцатиричном формате.


[[.DDH]] и [[.DDL]] - аналогичны "[[.DD]]", но вводят только один байт из числа
.DDH и .DDL - аналогичны ".DD", но вводят только один байт из числа
- старшую или младшую часть соответственно.
- старшую или младшую часть соответственно.


[[.DW]] - вводит строку двухбайтовых чисел от оператора до конца строки
.DW - вводит строку двухбайтовых чисел от оператора до конца строки
или до комментария. Числа вводятся в шестнадцатеричном формате
или до комментария. Числа вводятся в шестнадцатиричном формате
в порядке старший-младший.
в порядке старший-младший.


[[.TEXT]] "строка" - вводит в программу строку символов. При разборе учитывается
.TEXT "строка" - вводит в программу строку символов. При разборе учитывается
текущая кодировка. В строке могут использоваться символы: "\n", "\r",  
текущая кодировка. В строке могут использоваться символы: "\n", "\r",  
"\t", "\\", "\0" - обозначающие перевод строки, возврат каретки,
"\t", "\\", "\0" - обозначающие перевод строки, возврат каретки,
табуляцию, обратную черту и нулевой символ.
табуляцию, обратную черту и нулевой символ.


[[.NUM]] - вставляет число, идентификатор  или адрес метки в программу в виде числа,
.NUM - вставляет число, идентификатор  или адрес метки в программу в виде числа,
записываемого в [[RX|регистр X]] [[Стек калькулятора|стека]]. Формат целого числа - десятичное или шестнадцатеричное.
записываемого в регистр X стека. Формат целого числа - десятичное или шестнадцатиричное.
Дробная часть отделяется запятой. Порядок записывается после символа E.
Дробная часть отделяется запятой. Порядок записывается после символа E.
Если число или порядок отрицательны, в нужном месте ставится знак минуса.
Если число или порядок отрицательны, в нужном месте ставится знак минуса.


[[.NUMH]] и [[.NUML]] - вставляют число соответствующее старшей или младшей части адреса.
.NUMH и .NUML - вставляют число соответствующее старшей или младшей части адреса.


[[.NUMT]] - вставляет число соответствующее адресу в диапазоне от 0 до 999.
.NUMT - вставляет число соответствующее адресу в диапазоне от 0 до 999.


[[.NUMD]] и [[.NUMI]] - вставляют число соответствующее адресу с одновременным уменьшением его
.NUMD и .NUMI - вставляют число соответствующее адресу с одновременным уменьшением его
на 1 (декрементом) или увеличением на 1 (инкрементом).
на 1 (декрементом) или увеличением на 1 (инкрементом).


[[.BASE]] - устанавливает базу относительно которой будет вставлен адрес оператором [[.DBB]].
.BASE - устанавливает базу относительно которой будет вставлен адрес оператором .DBB.


[[.DBB]] - вставляет строку байт разделяемых запятыми и соответствующих смещению
.DBB - вставляет строку байт разделяемых запятыми и соответствующих смещению
указанного адреса относительно ближайшей базы.
указанного адреса относительно ближайшей базы.
 
.DWB - вставляет строку двухбайтовых значений разделяемых запятыми и соответствующих
[[.DWB]] - вставляет строку двухбайтовых значений разделяемых запятыми и соответствующих
смещению указанного адреса относительно ближайшей базы.
смещению указанного адреса относительно ближайшей базы.


[[.END]] - обозначает конец программы. Весь текст ниже считается комментарием.
.END - обозначает конец программы. Весь текст ниже считается комментарием.
 
[[Категория:MK.EXE]]
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Pmkwiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:

Отменить Справка по редактированию (в новом окне)