From b452f0bae66b0c9dc4317aef3a4f8b7980210dbf Mon Sep 17 00:00:00 2001 From: mzhoot Date: Sat, 20 Jun 2026 09:23:03 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20=D1=80=D0=B8=D0=B4=D0=BC=D0=B8=20=D0=BF=D0=BE=D1=81?= =?UTF-8?q?=D0=BB=D0=B5=20=D1=80=D1=83=D1=81=D0=B8=D1=84=D0=B8=D0=BA=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D0=B8=20=D0=B8=D0=BC=D0=B5=D0=BD=20=D1=81=D0=BA?= =?UTF-8?q?=D1=80=D0=B8=D0=BF=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 163 ------------------------------------------------------ 1 file changed, 163 deletions(-) diff --git a/README.md b/README.md index 134ea4b..66f5ea8 100644 --- a/README.md +++ b/README.md @@ -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" -``` - ---- - ## 🐛 Отладка и проверка ### Просмотр сгенерированного кода