Global instruction add
This commit is contained in:
parent
f2773b1608
commit
51cac4b381
13
BINCOM.md
13
BINCOM.md
@ -111,4 +111,15 @@ void (*operations[])(void) = {
|
||||
- **MOV 0x1E** - Переключить стек (виртуальный/обычный). Формат: **0x1E**
|
||||
## Функции
|
||||
- **CALL 0x1F** - Аналогична инструкции **JMP**, но сохраняет стек вызовов (32 элемента). Формат: **0x1F**
|
||||
- **RET 0x20** - Возврат из функции. Формат: **0x20**
|
||||
- **RET 0x20** - Возврат из функции. Формат: **0x20**
|
||||
## Символы
|
||||
> [!NOTE]
|
||||
> Инструкция **GLOBAL** нужна для обозначения точки входа.
|
||||
> Это комбинация инструкций **PUSH** и **JMP**. Пример:
|
||||
> ```asm
|
||||
> global db main
|
||||
> ; Код, не исполняемый при старте
|
||||
> main:
|
||||
> ; Точка входа
|
||||
> ```
|
||||
- **GLOBAL** - Ассемблерная инструкция, означает метку для старта.
|
||||
@ -12,7 +12,7 @@
|
||||
* XX - шестнадцатиричные данные
|
||||
*/
|
||||
|
||||
const size_t ntsys_command_count = 0x22;
|
||||
const size_t ntsys_command_count = 0x23;
|
||||
|
||||
char* ntsys_asm_table[] = {
|
||||
"push=00:T:D",
|
||||
@ -56,6 +56,7 @@ char* ntsys_asm_table[] = {
|
||||
"set=1D",
|
||||
"mov=1E",
|
||||
|
||||
"global=00:T:D0D",
|
||||
"call=1F",
|
||||
"ret=20",
|
||||
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
start:
|
||||
push db main
|
||||
jmp
|
||||
global db main
|
||||
|
||||
log:
|
||||
push byte 0x00
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user