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

36 lines
1.7 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;./тесты/вывод_однозначного/вывод_однозначного.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