Global instruction add

This commit is contained in:
german 2026-03-11 18:39:52 +04:00
parent f2773b1608
commit 51cac4b381
4 changed files with 15 additions and 5 deletions

View File

@ -112,3 +112,14 @@ void (*operations[])(void) = {
## Функции ## Функции
- **CALL 0x1F** - Аналогична инструкции **JMP**, но сохраняет стек вызовов (32 элемента). Формат: **0x1F** - **CALL 0x1F** - Аналогична инструкции **JMP**, но сохраняет стек вызовов (32 элемента). Формат: **0x1F**
- **RET 0x20** - Возврат из функции. Формат: **0x20** - **RET 0x20** - Возврат из функции. Формат: **0x20**
## Символы
> [!NOTE]
> Инструкция **GLOBAL** нужна для обозначения точки входа.
> Это комбинация инструкций **PUSH** и **JMP**. Пример:
> ```asm
> global db main
> ; Код, не исполняемый при старте
> main:
> ; Точка входа
> ```
- **GLOBAL** - Ассемблерная инструкция, означает метку для старта.

BIN
ntsys

Binary file not shown.

View File

@ -12,7 +12,7 @@
* XX - шестнадцатиричные данные * XX - шестнадцатиричные данные
*/ */
const size_t ntsys_command_count = 0x22; const size_t ntsys_command_count = 0x23;
char* ntsys_asm_table[] = { char* ntsys_asm_table[] = {
"push=00:T:D", "push=00:T:D",
@ -56,6 +56,7 @@ char* ntsys_asm_table[] = {
"set=1D", "set=1D",
"mov=1E", "mov=1E",
"global=00:T:D0D",
"call=1F", "call=1F",
"ret=20", "ret=20",

View File

@ -1,6 +1,4 @@
start: global db main
push db main
jmp
log: log:
push byte 0x00 push byte 0x00