тесты адресации
This commit is contained in:
parent
99579d2538
commit
94f8cdb71a
20
тесты/тест_адресации1.квс
Normal file
20
тесты/тест_адресации1.квс
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
; тестирует абсолютную адресацию по адресу
|
||||||
|
; не вылетел - значит работает (дополнительно проверить отладчиком)
|
||||||
|
; ./тесты/тест_адресации1.elf
|
||||||
|
; echo $? # выведет 42
|
||||||
|
|
||||||
|
.текст
|
||||||
|
.глобал _start
|
||||||
|
|
||||||
|
_start:
|
||||||
|
; Запись значения 42 в переменную по адресу 0x402000
|
||||||
|
переместить_имм раикс, 42
|
||||||
|
сохранить [0x402000], раикс
|
||||||
|
|
||||||
|
; Завершение с кодом 42 (читаем из переменной)
|
||||||
|
переместить_имм раикс, 60
|
||||||
|
загрузить рдиай, [0x402000]
|
||||||
|
вызов_системы
|
||||||
|
|
||||||
|
.данные
|
||||||
|
тестовая_переменная: .байт 0
|
||||||
20
тесты/тест_адресации2.квс
Normal file
20
тесты/тест_адресации2.квс
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
; тестирует абсолютную адресацию по метке
|
||||||
|
; не вылетел - значит работает (дополнительно проверить отладчиком)
|
||||||
|
; ./тесты/тест_адресации2.elf
|
||||||
|
; echo $? # выведет 43
|
||||||
|
|
||||||
|
.текст
|
||||||
|
.глобал _start
|
||||||
|
|
||||||
|
_start:
|
||||||
|
; Запись значения 43 в переменную по метке
|
||||||
|
переместить_имм раикс, 43
|
||||||
|
сохранить [переменная], раикс
|
||||||
|
|
||||||
|
; Завершение с кодом 43
|
||||||
|
переместить_имм раикс, 60
|
||||||
|
загрузить рдиай, [переменная]
|
||||||
|
вызов_системы
|
||||||
|
|
||||||
|
.данные
|
||||||
|
переменная: .байт 0
|
||||||
23
тесты/тест_адресации3.квс
Normal file
23
тесты/тест_адресации3.квс
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
; тестирует косвенную адресацию через регистр
|
||||||
|
; не вылетел - значит работает (дополнительно проверить отладчиком)
|
||||||
|
; ./тесты/тест_адресации3.elf
|
||||||
|
; echo $? # выведет 99
|
||||||
|
|
||||||
|
.текст
|
||||||
|
.глобал _start
|
||||||
|
|
||||||
|
_start:
|
||||||
|
; Загружаем адрес переменной в регистр RBX
|
||||||
|
переместить_имм рбикс, переменная
|
||||||
|
|
||||||
|
; Запись значения 99 в переменную через косвенную адресацию
|
||||||
|
переместить_имм раикс, 99
|
||||||
|
сохранить [рбикс], раикс
|
||||||
|
|
||||||
|
; Завершение с кодом 99 (читаем из переменной через косвенную адресацию)
|
||||||
|
переместить_имм раикс, 60
|
||||||
|
загрузить рдиай, [рбикс]
|
||||||
|
вызов_системы
|
||||||
|
|
||||||
|
.данные
|
||||||
|
переменная: .байт 0
|
||||||
Loading…
Reference in a new issue