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