Обновить ридми после русификации имен скриптов

This commit is contained in:
mzhoot 2026-06-20 09:23:03 +03:00
parent 3c751e10ad
commit b452f0bae6

163
README.md
View file

@ -404,169 +404,6 @@ _start: ; метка _start
| `.рездс` | Резервирование двойных слов в BND | `.рездс 25` |
| `.резкс` | Резервирование квадрослов в BND | `.резкс 10` |
---
## 📝 Примеры программ
### Работа с памятью (переменные)
```assembly
.текст
.глобал _start
_start:
переместить_имм раикс,42
сохранить [переменная], раикс
загрузить рбикс,[переменная]
переместить_имм раикс,60
загрузить рдиай,[переменная]
вызов_системы
.данные
переменная: .байт 0
```
### Цикл и условный переход
```assembly
.текст
.глобал _start
_start:
переместить_имм рсикс,10
цикл:
переместить_имм раикс,1
переместить_имм рдиай,1
переместить_имм рсиай, msg
переместить_имм рдикс,10
вызов_системы
уменьшить рсикс
сравнить_с рсикс,0
переход_если_больше цикл
переместить_имм раикс,60
переместить_имм рдиай,0
вызов_системы
.данные
msg: .строка "Iteration\n"
```
### Вычисление суммы чисел от 1 до 10
```assembly
.текст
.глобал _start
_start:
переместить_имм р8,0
переместить_имм р9,10
цикл:
прибавить р8, р9
уменьшить р9
сравнить_с р9,0
переход_если_больше цикл
переместить_имм раикс,60
переместить рдикс, р8
вызов_системы
```
### Использование BND-секции
```assembly
.текст
.глобал _start
_start:
переместить_имм раикс,0
сохранить [счётчик], раикс
переместить_имм рсикс,10
цикл:
загрузить раикс,[счётчик]
увеличить раикс
сохранить [счётчик], раикс
уменьшить рсикс
сравнить_с рсикс,0
переход_если_больше цикл
загрузить рдиай,[счётчик]
переместить_имм раикс,60
вызов_системы
.бнд
счётчик: .байт 0
```
### Косвенная адресация
```assembly
.текст
.глобал _start
_start:
переместить_имм рбикс, переменная
переместить_имм раикс,99
сохранить [рбикс], раикс
загрузить раикс,[рбикс]
переместить_имм рдиай, раикс
переместить_имм раикс,60
вызов_системы
.данные
переменная: .байт 0
```
### Вывод аргумента командной строки
```assembly
.текст
.глобал _start
_start:
сравнить_с рдиай,2
переход_если_не_равно no_arg
загрузить р8,[рсиай + 8]
переместить рдиай, р8
исключающее_или рдикс, рдикс
strlen:
загрузить ал,[р8]
сравнить_с ал,0
переход_если_равно strlen_done
увеличить р8
увеличить рдикс
переход strlen
strlen_done:
переместить_имм раикс,1
переместить рсиай, рдиай
переместить_имм рдиай,1
вызов_системы
исключающее_или рдиай, рдиай
переместить_имм раикс,60
вызов_системы
no_arg:
переместить_имм раикс,1
переместить_имм рдиай,1
переместить_имм рсиай, msg_no_arg
переместить_имм рдикс,26
вызов_системы
переместить_имм рдиай,1
переместить_имм раикс,60
вызов_системы
.данные
msg_no_arg: .строка "Ошибка не передан аргумент\n"
```
---
## 🐛 Отладка и проверка
### Просмотр сгенерированного кода