36 lines
1.4 KiB
Plaintext
36 lines
1.4 KiB
Plaintext
|
|
; тест_бнд_2.квс
|
|||
|
|
; Полный цикл косвенной адресации через регистр в BSS
|
|||
|
|
|
|||
|
|
.текст
|
|||
|
|
.глобал _start
|
|||
|
|
|
|||
|
|
_start:
|
|||
|
|
; =============================================
|
|||
|
|
; ТЕСТ 2: Косвенная адресация в .бнд (полный цикл)
|
|||
|
|
; =============================================
|
|||
|
|
|
|||
|
|
; 1. Загружаем адрес BSS-переменной в регистр
|
|||
|
|
переместить_имм рбикс, косв_перем
|
|||
|
|
|
|||
|
|
; 2. Записываем значение через регистр
|
|||
|
|
переместить_имм рдиай, 0x99
|
|||
|
|
сохранить [рбикс], рдиай
|
|||
|
|
|
|||
|
|
; 3. Очищаем регистр (чтобы доказать, что значение из BSS)
|
|||
|
|
переместить_имм рдиай, 0x00
|
|||
|
|
|
|||
|
|
; 4. Читаем значение обратно через косвенную адресацию
|
|||
|
|
загрузить рдиай, [рбикс]
|
|||
|
|
|
|||
|
|
; 5. Выход с кодом = прочитанному значению
|
|||
|
|
переместить_имм раикс, 60
|
|||
|
|
вызов_системы
|
|||
|
|
|
|||
|
|
.данные
|
|||
|
|
; Заглушка для pass5 (обязательно!)
|
|||
|
|
пустые_данные: .байт 0
|
|||
|
|
|
|||
|
|
.бнд
|
|||
|
|
; Переменная для косвенной адресации
|
|||
|
|
косв_перем: .резб 1
|
|||
|
|
_запас: .резб 4095 ; страховка от граничных проблем
|