Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
msx:basic_intermediate_code:basic_intermediate_code [2022-07-30 21:25] GreyWolf [Тесты] |
msx:basic_intermediate_code:basic_intermediate_code [2023-06-12 00:27] (текущий) GreyWolf [Без префикса] |
||
---|---|---|---|
Строка 2: | Строка 2: | ||
- | Для хранения программ [[msx:basic:basic|]] в ОЗУ и компактной записи программ используется перевод лексем языка в внутренние коды. В этом виде программа хранится в таблице PIT (Program Instruction Table). | + | Для хранения программ [[msx:basic:|]] в ОЗУ и компактной записи программ используется перевод лексем языка в внутренние коды. В этом виде программа хранится в таблице PIT (Program Instruction Table). |
- | + | ||
- | + | ||
- | Для работы с промежуточный кодом создан это проект: | + | |
- | \\ [[github>mr-GreyWolf/MSX-BASIC-Intermediate-code|Проект на GitHub]], {{msx-basic-intermediate-code-master.zip|Локальная копия}} | + | |
~~TOC wide~~ | ~~TOC wide~~ | ||
Строка 139: | Строка 134: | ||
{{anchor:noprefix}} | {{anchor:noprefix}} | ||
===== Без префикса ===== | ===== Без префикса ===== | ||
+ | <WRAP group> | ||
+ | <WRAP four column> | ||
|< 10em 10em >| | |< 10em 10em >| | ||
^ Слово / символ ^ Код(ы) ^ | ^ Слово / символ ^ Код(ы) ^ | ||
Строка 174: | Строка 171: | ||
|ERASE|0xA5| | |ERASE|0xA5| | ||
|ERL|0xE1| | |ERL|0xE1| | ||
+ | </WRAP> | ||
+ | <WRAP four column> | ||
+ | |< 10em 10em >| | ||
+ | ^ Слово / символ ^ Код(ы) ^ | ||
|ERR|0xE2| | |ERR|0xE2| | ||
|ERROR|0xA6| | |ERROR|0xA6| | ||
Строка 207: | Строка 208: | ||
|NAME|0xD3| | |NAME|0xD3| | ||
|NEW|0x94| | |NEW|0x94| | ||
+ | </WRAP> | ||
+ | <WRAP four column> | ||
+ | |< 10em 10em >| | ||
+ | ^ Слово / символ ^ Код(ы) ^ | ||
|NEXT|0x83| | |NEXT|0x83| | ||
|NOT|0xE0| | |NOT|0xE0| | ||
Строка 240: | Строка 245: | ||
|STRING$|0xE3| | |STRING$|0xE3| | ||
|SWAP|0xA4| | |SWAP|0xA4| | ||
+ | </WRAP> | ||
+ | <WRAP four column> | ||
+ | |< 10em 10em >| | ||
+ | ^ Слово / символ ^ Код(ы) ^ | ||
|TAB|0xDB| | |TAB|0xDB| | ||
|THEN|0xDA| | |THEN|0xDA| | ||
Строка 273: | Строка 282: | ||
|%% ^ %%|0xF5| | |%% ^ %%|0xF5| | ||
|\|0xFC| | |\|0xFC| | ||
+ | </WRAP> | ||
+ | </WRAP> | ||
+ | |||
{{anchor:xff}} | {{anchor:xff}} | ||
===== 0xFF ===== | ===== 0xFF ===== | ||
+ | <WRAP group> | ||
+ | <WRAP four column> | ||
|< 10em 10em >| | |< 10em 10em >| | ||
^ Слово / символ ^ Код(ы) ^ | ^ Слово / символ ^ Код(ы) ^ | ||
Строка 290: | Строка 304: | ||
|CVI|0xFFA8| | |CVI|0xFFA8| | ||
|CVS|0xFFA9| | |CVS|0xFFA9| | ||
+ | </WRAP> | ||
+ | <WRAP four column> | ||
+ | |< 10em 10em >| | ||
+ | ^ Слово / символ ^ Код(ы) ^ | ||
|DSKF|0xFFA6| | |DSKF|0xFFA6| | ||
|EOF|0xFFAB| | |EOF|0xFFAB| | ||
Строка 302: | Строка 320: | ||
|LEFT$|0xFF81| | |LEFT$|0xFF81| | ||
|LOC|0xFFAC| | |LOC|0xFFAC| | ||
+ | </WRAP> | ||
+ | <WRAP four column> | ||
+ | |< 10em 10em >| | ||
+ | ^ Слово / символ ^ Код(ы) ^ | ||
|LOG|0xFF8A| | |LOG|0xFF8A| | ||
|LOF|0xFFAD| | |LOF|0xFFAD| | ||
Строка 314: | Строка 336: | ||
|PEEK|0xFF97| | |PEEK|0xFF97| | ||
|POS|0xFF91| | |POS|0xFF91| | ||
+ | </WRAP> | ||
+ | <WRAP four column> | ||
+ | |< 10em 10em >| | ||
+ | ^ Слово / символ ^ Код(ы) ^ | ||
|RIGHT$|0xFF82| | |RIGHT$|0xFF82| | ||
|RND|0xFF88| | |RND|0xFF88| | ||
Строка 326: | Строка 352: | ||
|VAL|0xFF94| | |VAL|0xFF94| | ||
|VPEEK|0xFF98| | |VPEEK|0xFF98| | ||
+ | </WRAP> | ||
+ | </WRAP> | ||
Строка 337: | Строка 365: | ||
====== Скрипты ====== | ====== Скрипты ====== | ||
- | Скрипт работает в Python 2 и 3 | ||
===== code-to-text.py ===== | ===== code-to-text.py ===== | ||
+ | |||
+ | Скрипт работает в [[python:python|]] 2 и 3 | ||
+ | |||
+ | {{code-to-text.py|}} | ||
Читает файл в бинарном формате и сохраняет его содержимое в текстовом формате | Читает файл в бинарном формате и сохраняет его содержимое в текстовом формате | ||
Строка 345: | Строка 376: | ||
Параметры: | Параметры: | ||
- Исходный файл в бинарном формате | - Исходный файл в бинарном формате | ||
- | - Выходной файл текстовом формате | + | - Выходной файл в текстовом формате |
Пример запуска: | Пример запуска: | ||
+ | <code python> | ||
./code-to-text.py file.bas file_a.bas | ./code-to-text.py file.bas file_a.bas | ||
+ | </code> | ||
==== Тесты ==== | ==== Тесты ==== | ||
Строка 362: | Строка 394: | ||
diff code.txt code_a.bas | diff code.txt code_a.bas | ||
</code> | </code> | ||
- | code.bas | ||
- | Тестовый файл в бинарном формате, создан командой: save "code.bas" | + | |{{code.bas}}|Тестовый файл в бинарном формате, создан командой: <code>save "code.bas"</code>| |
- | + | |{{code_a.bas}}|Тестовый файл в текстовом формате, создан командой: <code>save "code_a.bas",a</code>| | |
- | code_a.bas | + | |
- | + | ||
- | Тестовый файл в текстовом формате, создан командой: save "code_a.bas",a | + | |
====== Ссылки ====== | ====== Ссылки ====== | ||
Строка 384: | Строка 412: | ||
[[wpru>Число_двойной_точности|Число двойной точности]] | [[wpru>Число_двойной_точности|Число двойной точности]] | ||
- | + | <del>[[github>mr-GreyWolf/MSX-BASIC-Intermediate-code|Проект на GitHub]]</del> | |
- | {{tag>MSX BASIC on_github}} | + | |
+ | {{tag>MSX BASIC Python on_github}} |