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

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


msx:basic_programming_guide:101

Различия

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

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

msx:basic_programming_guide:101 [2020-11-01 13:13]
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]]],​  +
-\\ [ [[msx:​msx2_technical_handbook:​msx2_technical_handbook|]]:​ {{msx:​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 +
- +
-{{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>​ +
- +
-</​WRAP>​ +
-</​WRAP>​ +
-где +
-  * //​номер//​ — номер программы в машинных кодах, может находиться в диапазоне от 0 до 9. Если не указано,​ то 0 +
-  * //​адрес//​ — начальный адрес подпрограммы на в машинных кодах +
- +
- +
-__//​Пример//​__:​ +
- +
-<​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>​ +
- +
-</​WRAP>​ +
-</​WRAP>​ +
-где +
-  * //​номер//​ — номер подпрограммы число в диапазоне от 0 до 9, если не указано то 0 +
-  * //​аргумент//​ — имя переменной,​ или строка может быть получена машинной подпрограммой,​ если аргументом является 0 (нуль), в программу в машинных кодах ничего не переносится +
- +
-Значение переменной передается подпрограмме в машинных кодах. При вызове программы число байтов,​ занимаемое этим значением,​ однозначно связанное с его типом, заносится в регистр А микропроцессора [[zilog_z80:​zilog_z80|Z80]] и в ячейку памяти [[msx:assembler_programming_guide-fakhrutdinov_bocharov:02#​valtyp|VALTYP]]. +
- +
-Адрес переменной хранится в регистре HL. +
- +
-Для строк имеется небольшое отличие. Адрес, где записана строка,​ находится в регистре DE. +
- +
----- +
- +
- +
-[<>​] +
- +
- +
-{{tag>​MSX BASIC Book_msxbpg}}+
msx/basic_programming_guide/101.1604225635.txt.gz · Последние изменения: 2020-11-01 13:13 (внешнее изменение)