50 lines
2 KiB
Plaintext
50 lines
2 KiB
Plaintext
.текст
|
||
.глобал _start
|
||
|
||
_start:
|
||
; =============================================
|
||
; ТЕСТ 1: Абсолютная адресация
|
||
; =============================================
|
||
переместить_имм раикс, 0x42
|
||
сохранить [абс_данные], раикс
|
||
|
||
; =============================================
|
||
; ТЕСТ 2: Косвенная адресация
|
||
; =============================================
|
||
переместить_имм рбикс, косв_данные
|
||
переместить_имм раикс, 0x99
|
||
сохранить [рбикс], раикс
|
||
|
||
; =============================================
|
||
; ТЕСТ 3: Ещё одна косвенная адресация
|
||
; =============================================
|
||
переместить_имм рсикс, ещё_данные
|
||
переместить_имм раикс, 0x77
|
||
сохранить [рсикс], раикс
|
||
|
||
; =============================================
|
||
; Читаем всё обратно
|
||
; =============================================
|
||
загрузить р8, [абс_данные]
|
||
загрузить р9, [рбикс]
|
||
загрузить р10, [рсикс]
|
||
|
||
; =============================================
|
||
; ЗАВЕРШЕНИЕ: возвращаем из абсолютной переменной
|
||
; =============================================
|
||
загрузить рдиай, [абс_данные]
|
||
переместить_имм раикс, 60
|
||
вызов_системы
|
||
|
||
.данные
|
||
абс_данные:
|
||
.байт 0
|
||
косв_данные:
|
||
.байт 0
|
||
ещё_данные:
|
||
.байт 0, 0, 0, 0, 0, 0, 0, 0
|
||
|
||
.бнд
|
||
буфер: .резб 1048576 ; 1 МБ = 1024 * 1024
|
||
переменная: .резкс 1 ; 8 байт под длину
|
||
буфер_строки: .резкс 1 ; 8 байт под указатель на строку |