kvs/тесты/вывод_однозначного/вывод_однозначного.квс

36 lines
1.7 KiB
Plaintext
Raw Normal View History

;./тесты/вывод_однозначного/вывод_однозначного.elf
; Ожидаемый вывод: "7"
; ============================================================
; вывод_однозначного.квс - вывод однозначного числа без циклов
; Преобразует цифру 7 в символ '7' через сложение с '0'
; и выводит в терминал
; ============================================================
.текст
.глобал _start
_start:
; Загружаем цифру для вывода
переместить_имм раикс, 7 ; цифра 7
; Преобразуем цифру в ASCII-символ: '0' = 48
прибавить_непосредственно раикс, 48 ; RAX = 7 + 48 = 55 = '7'
; Сохраняем символ в буфер
сохранить [буфер], ал ; записываем байт '7' в буфер
; Системный вызов write(1, буфер, 1)
переместить_имм раикс, 1 ; номер syscall write = 1
переместить_имм рдиай, 1 ; stdout = 1
переместить_имм рсиай, буфер ; указатель на буфер
переместить_имм рдикс, 1 ; длина = 1 байт
вызов_системы
; Системный вызов exit(0)
переместить_имм раикс, 60 ; номер syscall exit = 60
переместить_имм рдиай, 0 ; код возврата = 0
вызов_системы
.данные
буфер: .байт 0