ntsys/ASM.md
2026-03-08 17:35:43 +04:00

45 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Assemly NTSYS
Это справочник по ассемблеру в **NTSYS**. Тут представлены основные комманды и описание синтаксиса.
## Операторы
Основной программной единицей является оператор. Это одно из зарезервированных слов. Названия операторов те же, что и в [BINCOM](https://gitlabor.ru/German/ntsys/src/branch/main/BINCOM.md), но в нижнем регистре (нижнее подчеркивание заменено точкой). Их синтаксис следующий:
```asm
оператор операнд1, операнд2, ... операндN
```
Операнды нужны для передачи данных в операторы.
## Метки
Метки используются для относительного перехода в любое место программы. Они состоят из алфавитно-цифровых символов, а также нижнего подчеркивания и знака минус, двоеточия и переноса строки:
```asm
ИмяМетки:
; ... код
```
Для записи метки используется специальный тип данных - **db**:
```asm
main:
push db main
jmp
```
## Комментарии
Комментарий нужен для создания пояснения к коду. Любой текст в комментарии игнорируется.
Пример:
```asm
; Это комментарий
; Это тоже
```
## Типы данных
Основные типы данных:
- ```byte``` - 8bit без знака
- ```word``` - 16bit без знака
- ```dword``` - 32bit без знака
- ```qword``` - 64bit без знака
- ```sbyte``` - 8bit знаковый
- ```sword``` - 16bit знаковый
- ```sdword``` - 32bit знаковый
- ```sqword``` - 64bit знаковый
- Строки - [ASCIIZ-строка](https://ru.wikipedia.org/wiki/%D0%9D%D1%83%D0%BB%D1%8C-%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0?ysclid=mmhsfli7p5897685524)
Строки заключаются в двойные кавычки:
```
push.string "Строка"
```
Поддерживаются следующие управляющие символы: ```\0, \a, \b, \t, \n, \v, \f, \r, \\, \"```.