Assembly DOCS

This commit is contained in:
german 2026-03-08 17:11:19 +04:00
parent 8d9e53a1b1
commit fce6aa1630
6 changed files with 17 additions and 3 deletions

10
ASM.md Normal file
View File

@ -0,0 +1,10 @@
# Assemly NTSYS
Это справочник по ассемблеру в **NTSYS**. Тут представлены основные комманды и описание синтаксиса.
## Операторы
Основной программной единицей является оператор. Это одно из зарезервированных слов. Названия операторов те же, что и в [BINCOM](https://gitlabor.ru/German/ntsys/src/branch/main/BINCOM.md), но в нижнем регистре.
## Метки
Метки используются для относительного перехода в любое место программы. Они состоят из алфавитно-цифровых символов, двоеточия и переноса строки:
```asm
имя_метки:
; ... код
```

View File

@ -5,5 +5,7 @@
> Это бета-версия. Документация ещё не готова.
- [Инструкция по установке](https://gitlabor.ru/German/ntsys/src/branch/main/INSTALL.md)
- [Справочник по опциям](https://gitlabor.ru/German/ntsys/src/branch/main/OPTIONS.md)
- [Бинарная структура](https://gitlabor.ru/German/ntsys/src/branch/main/BINARY.md)
- [Двоичные коды комманд](https://gitlabor.ru/German/ntsys/src/branch/main/BINCOM.md)
- [Двоичные коды комманд](https://gitlabor.ru/German/ntsys/src/branch/main/BINCOM.md)
- [Ассемблер](https://gitlabor.ru/German/ntsys/src/branch/main/ASM.md)
- [Примеры](https://gitlabor.ru/German/ntsys/src/branch/main/EXAMPLES.md)
- [Бинарная структура](https://gitlabor.ru/German/ntsys/src/branch/main/BINARY.md)

View File

@ -48,6 +48,7 @@ char* ntsys_get_str(char* ptr, FILE* fp) {
while (i < strlen(ptr)) {
if (ptr[i] == '"' && ptr[((i == 0) ? 1 : i) - 1] != '\\') {isStr = !isStr;}
if ((ptr[i] == ';' || ptr[i] == '#') && isStr == 0) ptr[i] = '\0';
if ((ptr[i] == ',') && isStr == 0) ptr[i] = ' ';
i ++;
}
return ptr;
@ -396,6 +397,7 @@ int __ntsys_arg_function_loader(ntsys_argument_parser_t* parser) {
if (select_argument(parser) == EXIT_FAILURE) return EXIT_FAILURE;
}
if (parser->is_rewrite == 0) *parser->file_size = ftell(parser->fp) + 1;
fflush(parser->fp);
return EXIT_SUCCESS;
}

View File

@ -1,4 +1,4 @@
main: ; Метка main
push.string "Hello, world!\n" ; Записываем строку
push byte 0x00 ; Запись номера SYSCALL
push byte, 0x00 ; Запись номера SYSCALL
syscall ; Системный вызов

BIN
example.exe Normal file

Binary file not shown.

BIN
ntsys

Binary file not shown.