Я все еще получаю голову за сборку x86, поэтому я сделал эту небольшую программу, которая умножает 6 и 7, перемещает данные в EAX, а затем печатает результат. Он компилируется отлично и работает нормально, но вместо печати 42 он печатает символ ASCII сорок второй секунды. У меня на этом форуме, как печатать односимвольный номер, но теперь мне нужно выяснить, как печатать многозначные числа. Вот мой код:x86 assembly (masm32) - как разбить многозначные данные на отдельные символы
.386
.model flat, stdcall
option casemap :none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\masm32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\masm32.lib
.data
adrs dd 0
.code
start:
mov eax, 6
mov ebx, 7
imul eax, ebx
add eax, 48
mov adrs, eax
invoke StdOut, addr adrs
invoke ExitProcess, 0
end start
Таким образом, в общем, мне нужно понять, как разбить данные на отдельные символы, так что я могу напечатать их. Любая помощь будет большой.
С уважением,
Progrmr
[Этот вопрос] (http://stackoverflow.com/q/10371353/968261) должен помочь. –
Я не могу понять, что сообщение (код не имеет смысла. Я абсолютный новичок). – Progrmr
Разделите свой номер на 10 раз. Соберите остатки. Добавьте к ним ASCII-код '0', распечатайте. –