36 lines
1.3 KiB
Plaintext
36 lines
1.3 KiB
Plaintext
|
|
.текст
|
|||
|
|
.глобал _start
|
|||
|
|
|
|||
|
|
_start:
|
|||
|
|
; 25 - длина сообщения из метки msg
|
|||
|
|
; Запись значения 25 в переменную в .бнд
|
|||
|
|
переместить_имм рдикс, 25
|
|||
|
|
сохранить [переменная], рдикс
|
|||
|
|
|
|||
|
|
; Загружаем адрес строки и сохраняем в буфер в .бнд
|
|||
|
|
загрузить_адрес раикс, [msg]
|
|||
|
|
сохранить [буфер_строки], раикс
|
|||
|
|
|
|||
|
|
; перепишем для теста
|
|||
|
|
переместить_имм рдикс, 0
|
|||
|
|
|
|||
|
|
|
|||
|
|
; Системный вызов write(1, msg, len)
|
|||
|
|
переместить_имм раикс, 1
|
|||
|
|
переместить_имм рдиай, 1
|
|||
|
|
загрузить рсиай, [буфер_строки]
|
|||
|
|
загрузить рдикс, [переменная]
|
|||
|
|
вызов_системы
|
|||
|
|
|
|||
|
|
|
|||
|
|
; Системный вызов exit()
|
|||
|
|
переместить_имм раикс, 60
|
|||
|
|
переместить_имм рдиай, 44
|
|||
|
|
вызов_системы
|
|||
|
|
|
|||
|
|
.данные
|
|||
|
|
msg: .строка "Тест пройден!\n"
|
|||
|
|
|
|||
|
|
.бнд
|
|||
|
|
переменная: .резкс 1 ; 8 байт под длину
|
|||
|
|
буфер_строки: .резкс 1 ; 8 байт под указатель на строку
|