hoi allemaal,
ik begin net met x86 asm en probeer een int naar string subroutine te schrijven.
Ik heb iets wat goed compiled maar wat vastloop als ik het draai:
het maakt me nog even niet uit of de procedure omslachtig is, ik vind het raar dat hij vast loopt en ik kan de fout niet vinden.
wat ik wil doen:
zet het getal in eax
push een 0 als herkenning
while(eax !=0)
{
deel eax door 10.
push de remainder+30h
}
pop eax
while(eax!=0)
{
print wat in eax is
pop eax
}
ga vrooilijk door met wat je eerst deed.....
alvast hartstikke bedankt,
Joran
ik begin net met x86 asm en probeer een int naar string subroutine te schrijven.
Ik heb iets wat goed compiled maar wat vastloop als ik het draai:
Code:
.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
.const
newLine db 0Dh,0Ah,0
.data
char db " ",0
.code
start:
jmp main
printnum:
push 0
mov ebx,10
printnuml1:
div ebx
add edx,30h
push edx
cmp eax,0
je printnuml1
pop eax
printnuml2:
mov char,al
invoke StdOut, addr char
pop eax
cmp eax,0
je printnuml2
ret
main:
mov eax,324
call printnum
invoke StdOut, addr newLine
invoke ExitProcess, 0
end start
het maakt me nog even niet uit of de procedure omslachtig is, ik vind het raar dat hij vast loopt en ik kan de fout niet vinden.
wat ik wil doen:
zet het getal in eax
push een 0 als herkenning
while(eax !=0)
{
deel eax door 10.
push de remainder+30h
}
pop eax
while(eax!=0)
{
print wat in eax is
pop eax
}
ga vrooilijk door met wat je eerst deed.....
alvast hartstikke bedankt,
Joran