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

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


msx:basic_programming_guide:101

Различия

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

Ссылка на это сравнение

msx:basic_programming_guide:101 [2020-10-31 13:39]
msx:basic_programming_guide:101 [2022-09-09 23:30] (текущий)
Строка 1: Строка 1:
-[<>​] +~~HIDEPAGE:​search;​sitemap~~ 
-~~TOC wide~~ +~~REDIRECT>msx:basic_dialogue_programming_language:101~~
- +
-====== Приложение 1 — 1.1. Связь программы на MSX BASIC с подпрограммами в машинных кодах ====== +
-FIXME +
- +
-[[bibliography#​b92|[92]]],​ [[bibliography#​b96|[96]]] +
- +
- +
-{{anchor:​def_usr}} +
-====== DEF USR ====== +
-FIXME +
- +
-Оператор ''​DEF USR''​ определяет начальный адрес программы в машинных кодах для последующего использования. Можно использовать до 10 различных программ. Программы нумеруются от 0 до 9. По умолчанию берётся значение 0. +
- +
-Синтаксис:​ +
-<WRAP group> +
-<WRAP half column>​ +
-<​code>​ +
-DEF USR номер = адрес +
-</​code>​ +
- +
-</​WRAP>​ +
-+
-<WRAP half column>​ +
-Параметры +
-  * //​номер//​ — номер программы в машинных кодах, может находиться в диапазоне от 0 до 9. Если не указано,​ то 0 +
-  * //​адрес//​ — начальный адрес подпрограммы на в машинных кодах +
-</​WRAP>​ +
-</​WRAP>​ +
- +
-__//​Пример//​__: +
- +
-<​code>​ +
-DEF USR 1 = &​HA000 +
-</​code>​ +
-В этом примере указано,​ что начальным адресом подпрограммы с номером 1 является &​HA000. +
- +
-{{anchor:usr}} +
-====== USR() ====== +
- +
-FIXME +
- +
-Функция ''​USR()''​ передает переменную в подпрограмму на машинном языке. Сначала необходимо определить расположение подпрограммы с помощью [[#DEF USR]]. +
- +
-Синтаксис:​ +
-<WRAP group> +
-<WRAP half column>​ +
- +
-<​code>​ +
-USR [номер подпрограммы](аргумент) +
-</​code>​ +
-</​WRAP>​ +
-+
-<WRAP half column>​ +
-где +
-  * //​номер//​ — номер подпрограммы число в диапазоне от 0 до 9, если не указано то 0 +
-  * //​аргумент//​ — имя переменной,​ или строка может быть получена машинной подпрограммой +
-</​WRAP>​ +
-</​WRAP>​ +
- +
-Значение переменной передается подпрограмме в машинных кодах. При вызове программы число байтов,​ занимаемое этим значением,​ однозначно связанное с его типом, заносится в регистр А микропроцессора [[zilog_z80:​zilog_z80|Z80]] и в ячейку памяти &HF663. Возможные значения:​ +
-  * 2 целочисленные +
-  * 4 вещественные с одинарной точностью +
-  * 8 вещественные с двойной точностью +
-  * 3 строковые +
-Адрес переменной хранится в регистре HL. +
- +
-Для строк имеется небольшое отличие. Адрес, где записана строка,​ находится в регистре DE. +
- +
-Если аргументом функции ''​USR''​ является нуль, в программу в машинных кодах ничего не переносится. +
- +
- +
----- +
- +
- +
-[<>​] +
- +
- +
-{{tag>​MSX BASIC Book_msxbpg}}+
msx/basic_programming_guide/101.1604140743.txt.gz · Последние изменения: 2020-10-31 13:39 (внешнее изменение)