kvs/short_jumps/привеет.квс

35 lines
1.7 KiB
Plaintext
Raw Normal View History

2025-11-08 13:24:11 +03:00
.текст
.глобал _start
_start:
; Инициализация: raikc = 0 → пропустить первую строку
; Попробуйте изменить на 1 — тогда обе строки напечатаются
переместить_имм раикс, 1
сравнить_с раикс, 0 ; ← обязательно!
; Если raikc == 0 → прыгаем к выводу второй строки
короткий_переход_если_ноль пропустить_первую
; Вывод первой строки
переместить_имм раикс, 1 ; write
переместить_имм рдиай, 1 ; stdout
переместить_имм рсиай, msg0 ; адрес строки
переместить_имм рдикс, 21 ; длина "Привет мир!\n" = 13 байт
вызов_системы
пропустить_первую:
; Всегда выводим вторую строку
переместить_имм раикс, 1 ; write
переместить_имм рдиай, 1 ; stdout
переместить_имм рсиай, msg1 ; адрес строки
переместить_имм рдикс, 21 ; длина "Поди прочь!\n" = 13 байт
вызов_системы
; Завершение
переместить_имм раикс, 60 ; exit
переместить_имм рдиай, 0 ; код возврата
вызов_системы
.данные
msg0: .строка_нуль "Привет мир!\n"
msg1: .строка_нуль "Поди прочь!\n"