From 94f8cdb71afae0291c7a087d1cc5c86cf4e6321d Mon Sep 17 00:00:00 2001 From: mzhoot Date: Mon, 25 May 2026 18:51:03 +0300 Subject: [PATCH] =?UTF-8?q?=D1=82=D0=B5=D1=81=D1=82=D1=8B=20=D0=B0=D0=B4?= =?UTF-8?q?=D1=80=D0=B5=D1=81=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../тест_адресации1.квс | 20 ++++++++++++++++ .../тест_адресации2.квс | 20 ++++++++++++++++ .../тест_адресации3.квс | 23 +++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 тесты/тест_адресации1.квс create mode 100644 тесты/тест_адресации2.квс create mode 100644 тесты/тест_адресации3.квс diff --git a/тесты/тест_адресации1.квс b/тесты/тест_адресации1.квс new file mode 100644 index 0000000..e29eb06 --- /dev/null +++ b/тесты/тест_адресации1.квс @@ -0,0 +1,20 @@ +; тестирует абсолютную адресацию по адресу +; не вылетел - значит работает (дополнительно проверить отладчиком) +; ./тесты/тест_адресации1.elf +; echo $? # выведет 42 + +.текст +.глобал _start + +_start: + ; Запись значения 42 в переменную по адресу 0x402000 + переместить_имм раикс, 42 + сохранить [0x402000], раикс + + ; Завершение с кодом 42 (читаем из переменной) + переместить_имм раикс, 60 + загрузить рдиай, [0x402000] + вызов_системы + +.данные +тестовая_переменная: .байт 0 \ No newline at end of file diff --git a/тесты/тест_адресации2.квс b/тесты/тест_адресации2.квс new file mode 100644 index 0000000..4f8534a --- /dev/null +++ b/тесты/тест_адресации2.квс @@ -0,0 +1,20 @@ +; тестирует абсолютную адресацию по метке +; не вылетел - значит работает (дополнительно проверить отладчиком) +; ./тесты/тест_адресации2.elf +; echo $? # выведет 43 + +.текст +.глобал _start + +_start: + ; Запись значения 43 в переменную по метке + переместить_имм раикс, 43 + сохранить [переменная], раикс + + ; Завершение с кодом 43 + переместить_имм раикс, 60 + загрузить рдиай, [переменная] + вызов_системы + +.данные +переменная: .байт 0 \ No newline at end of file diff --git a/тесты/тест_адресации3.квс b/тесты/тест_адресации3.квс new file mode 100644 index 0000000..33e80b1 --- /dev/null +++ b/тесты/тест_адресации3.квс @@ -0,0 +1,23 @@ +; тестирует косвенную адресацию через регистр +; не вылетел - значит работает (дополнительно проверить отладчиком) +; ./тесты/тест_адресации3.elf +; echo $? # выведет 99 + +.текст +.глобал _start + +_start: + ; Загружаем адрес переменной в регистр RBX + переместить_имм рбикс, переменная + + ; Запись значения 99 в переменную через косвенную адресацию + переместить_имм раикс, 99 + сохранить [рбикс], раикс + + ; Завершение с кодом 99 (читаем из переменной через косвенную адресацию) + переместить_имм раикс, 60 + загрузить рдиай, [рбикс] + вызов_системы + +.данные +переменная: .байт 0 \ No newline at end of file