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 ; страховка от граничных проблем
|