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