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

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


msx:basic_programming_guide:101

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

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

FIXME

[92], [96],
[ MSX2 Technical Handbook: th-2.txt ]

  • 4.1 USR Function
  • 4.2 Data Exchange by the Argument and Return Value of USR Function
  • 4.3 Making New Commands

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
  • аргумент — имя переменной, или строка может быть получена машинной подпрограммой, если аргументом является 0 (нуль), в программу в машинных кодах ничего не переносится

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

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

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


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

msx/basic_programming_guide/101.txt · Последние изменения: 2020-11-04 13:05 — GreyWolf