67 lines
2.1 KiB
Plaintext
67 lines
2.1 KiB
Plaintext
.текст
|
||
.глобал _start
|
||
|
||
_start:
|
||
; Число для преобразования
|
||
переместить_имм раикс, 73
|
||
|
||
; Сохраняем число в .бнд
|
||
сохранить [число], раикс
|
||
|
||
; Загружаем обратно
|
||
загрузить раикс, [число]
|
||
|
||
; Делим на 10
|
||
переместить_имм рдикс, 0
|
||
переместить_имм рсикс, 10
|
||
разделить рсикс ; rax = 7 (частное), rdx = 3 (остаток)
|
||
|
||
; Сохраняем остаток в .бнд
|
||
сохранить [остаток], рдикс
|
||
|
||
; Частное (rax) — в цифру и выводим
|
||
прибавить_непосредственно раикс, 0x30
|
||
сохранить [буфер], раикс
|
||
|
||
переместить_имм раикс, 1
|
||
переместить_имм рдиай, 1
|
||
переместить_имм рсиай, буфер
|
||
переместить_имм рдикс, 1
|
||
вызов_системы
|
||
|
||
; Загружаем остаток из .бнд
|
||
загрузить раикс, [остаток]
|
||
|
||
; Остаток — в цифру и выводим
|
||
прибавить_непосредственно раикс, 0x30
|
||
сохранить [буфер], раикс
|
||
|
||
переместить_имм раикс, 1
|
||
переместить_имм рдиай, 1
|
||
переместить_имм рсиай, буфер
|
||
переместить_имм рдикс, 1
|
||
вызов_системы
|
||
|
||
; Перевод строки
|
||
переместить_имм раикс, 1
|
||
переместить_имм рдиай, 1
|
||
переместить_имм рсиай, nl
|
||
переместить_имм рдикс, 1
|
||
вызов_системы
|
||
|
||
; exit(0)
|
||
переместить_имм раикс, 60
|
||
переместить_имм рдиай, 0
|
||
вызов_системы
|
||
|
||
.данные
|
||
буфер:
|
||
.байт 0, 0, 0, 0, 0, 0, 0, 0
|
||
nl:
|
||
.байт 0x0A
|
||
|
||
.бнд
|
||
число:
|
||
.резб 8
|
||
остаток:
|
||
.резб 8 |