kvs/тесты/остаток_от_деления/остаток_от_деления.квс

36 lines
1.6 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
;echo $? # должен быть 2
;для вывода чисел в терминал нужно преобразование в строку
;а для этого нужен остаток от деления (но тут надо бы больше случаев отработать)
; ============================================================
; остаток_от_деления.квс - тест операции деления и остатка
; Проверяем: 42 / 10 = 4 остаток 2
; ============================================================
.текст
.глобал _start
_start:
; Подготовка делимого: RDX:RAX = 0:42
переместить_имм раикс, 42 ; делимое = 42
переместить_имм рдикс, 0 ; обнуляем RDX (старшая часть 128-битного делимого)
; Делитель в регистр
переместить_имм рбикс, 10 ; делитель = 10
; Выполняем деление: RDX:RAX / RBX
; После деления: RAX = частное (4), RDX = остаток (2)
разделить рбикс
; Перемещаем остаток в RDI для кода возврата
переместить рдиай, рдикс ; остаток из RDX в RDI
; Системный вызов exit
переместить_имм раикс, 60 ; номер syscall exit = 60
вызов_системы
.данные
тестовая_переменная: .байт 0