Инструменты пользователя

Инструменты сайта


msx:basic_programming_guide:101

Это старая версия документа!


Первая страницаПредыдущая страницаНазад к обзоруСледующая страницаПоследняя страница

Приложение 1 — 1.1. Связь программы на MSX BASIC с подпрограммами в машинных кодах

DEF USR

FIXME

Оператор DEF USR определяет начальный адрес программы в машинных кодах для последующего использования. Можно использовать до 10 различных программ. Программы нумеруются от 0 до 9. По умолчанию берётся значение 0.

Синтаксис:

DEF USR номер = адрес

,

Параметры

  • номер — номер программы в машинных кодах, может находиться в диапазоне от 0 до 9. Если не указано, то 0
  • адрес — начальный адрес подпрограммы на в машинных кодах

Пример:

DEF USR 1 = &HA000

В этом примере указано, что начальным адресом подпрограммы с номером 1 является &HA000.

USR()

FIXME

Функция USR() передает переменную в подпрограмму на машинном языке. Сначала необходимо определить расположение подпрограммы с помощью DEF USR.

Синтаксис:

USR [номер подпрограммы](аргумент)

,

где

  • номер — номер подпрограммы число в диапазоне от 0 до 9, если не указано то 0
  • аргумент — имя переменной, или строка может быть получена машинной подпрограммой

Значение переменной передается подпрограмме в машинных кодах. При вызове программы число байтов, занимаемое этим значением, однозначно связанное с его типом, заносится в регистр А микропроцессора Z80 и в ячейку памяти &HF663. Возможные значения:

  • 2 целочисленные
  • 4 вещественные с одинарной точностью
  • 8 вещественные с двойной точностью
  • 3 строковые

Адрес переменной хранится в регистре HL.

Для строк имеется небольшое отличие. Адрес, где записана строка, находится в регистре DE.

Если аргументом функции USR является нуль, в программу в машинных кодах ничего не переносится.


Первая страницаПредыдущая страницаНазад к обзоруСледующая страницаПоследняя страница

msx/basic_programming_guide/101.1604140743.txt.gz · Последние изменения: 2020-10-31 13:39 (внешнее изменение)