Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; преобразование результата
- xor edi, edi
- mov edx, numa
- xor eax, eax
- mov ax, dx ; ax - младшая часть, dx - старшая
- shr edx, 16 ; сдвигаем первые 16 бит в право
- xor ecx, ecx
- mov ecx, 16
- mov esi, offset buf ; начало строки хранится в переменной buf
- mov ebx, edx
- shl ebx, 16 ; сдвигаем 16 бит влево
- mov bx, ax ; в ebx хранится полное число
- .while ebx>=ecx ; пока число > 16
- div cx
- add dx, '0'
- .if dx>'9' ; если символ > 9, заменить на A,B,...
- add dx, 7
- .endif
- push edx ; кладем данные в стек, для инвертирования
- add edi, 1
- xor edx, edx
- xor ebx, ebx
- mov bx, ax
- .endw
- add ax, '0'
- .if ax>'9'
- add ax, 7
- .endif
- push eax
- add edi, 1
- ; теперь инвертируем строку
- mov ecx, edi
- convertc:
- pop [esi]
- inc esi
- loop convertc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement