Zum Beispiel habe ich die Nummer 6C0000h = 7077888dDrucke Doppelwortnummer zur Basis 10
Teile jedes Wort von zehn und dann auf dem Stapel, den Rest Speicher in diesem Fall nicht funktioniert, weil der unteren Teil der Doppelwort ist 0000.
Alle Tipps sind willkommen.
dank
zum Beispiel ..
;number = 6c0000h
mov ax,word ptr number
;after this mov ax is 0000
;dividing by ten will mean dx = 0 and ax = 0 and 0 is saved on the stack
mov cx,0
repeat:
mov dx,0
div ten ;ten = 10
inc cx
push dx
cmp ax,0
ja repeat
mov ax,word ptr number+2
;after this ax is 6Ch
;i think this part is alright
repeat2:
mov dx,0
div ten
inc cx
push dx
cmp ax,0
ja repeat2
display:
pop dx
add dl,'0'
mov ah,02h
int 21h
loop display
dieser Code angezeigt: 1080 und nicht 7.077.888, die das erwartete Ergebnis
von 0000108 = 6Ch und der Endung 0 10 div wäre ..
HINWEIS: Ich muss mit 16bit-Registern arbeiten
Hausaufgaben nehme ich an! –