kvs/тесты/тест_бнд_3/тест_бнд_3.квс

43 lines
1.7 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

; тест_бнд_3.квс
; Проверяем смешанную адресацию: абсолютная + косвенная
.текст
.глобал _start
_start:
; =============================================
; ТЕСТ 3: Микс абсолютной и косвенной адресации
; =============================================
; === ЧАСТЬ 1: Абсолютная запись ===
переместить_имм рдиай, 0x41
сохранить [абс_перем], рдиай
; === ЧАСТЬ 2: Косвенная запись ===
переместить_имм рбикс, косв_перем
переместить_имм рдиай, 0x11
сохранить [рбикс], рдиай
; === ЧАСТЬ 3: Смешанное чтение ===
; Очищаем регистры
переместить_имм рдиай, 0x00
переместить_имм рбикс, 0x00
; Читаем абсолютную переменную через косвенную адресацию
; (загружаем её адрес в регистр) тут можно менять переменную для теста
переместить_имм рбикс, абс_перем
загрузить рдиай, [рбикс]
; Результат: RDI = 0x42
; Выход
переместить_имм раикс, 60
вызов_системы
.данные
пустыеанные: .байт 0
.бнд
абс_перем: .резб 1 ; 0x403000 65
косв_перем: .резб 1 ; 0x403001 17
апас: .резб 4095 ; страховка от граничных проблем