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

36 lines
1.6 KiB
Plaintext
Raw Permalink Normal View History

;./тесты/остаток_от_деления/остаток_от_деления.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