Assembly DOCS
This commit is contained in:
parent
8d9e53a1b1
commit
fce6aa1630
10
ASM.md
Normal file
10
ASM.md
Normal file
@ -0,0 +1,10 @@
|
||||
# Assemly NTSYS
|
||||
Это справочник по ассемблеру в **NTSYS**. Тут представлены основные комманды и описание синтаксиса.
|
||||
## Операторы
|
||||
Основной программной единицей является оператор. Это одно из зарезервированных слов. Названия операторов те же, что и в [BINCOM](https://gitlabor.ru/German/ntsys/src/branch/main/BINCOM.md), но в нижнем регистре.
|
||||
## Метки
|
||||
Метки используются для относительного перехода в любое место программы. Они состоят из алфавитно-цифровых символов, двоеточия и переноса строки:
|
||||
```asm
|
||||
имя_метки:
|
||||
; ... код
|
||||
```
|
||||
@ -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)
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
@ -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
BIN
example.exe
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user