Assembler, Zahl ausgeben?

Stephan_12

Redshirt
Mitglied seit
18.12.2005
Beiträge
1
Renomée
0
Hallo,

Ich versuche mich etwas in ASM einzuarbeiten [NASM] benutz ich!

Code:
MOV ax, [zahl]
ADD ax, [zahl2]

zahl db "2",0
zahl2 db "3",0


um Strings auszugeben habe ich:

Code:
	putstr:
		lodsb            						; Byte laden
		or al,al
		jz short putstrd						; 0-Byte? -> Ende!
		mov ah,0x0E      						; Funktion 0x0E
		mov bx,0x0007    						; Atrribut-Byte
		int 0x10         						; schreiben
		jmp putstr       						; nächstes Byte

naja das geht bei der Zahl nicht, da wenn ich hingehe:

Code:
MOV si, [ax]
call putstr

bekomm ich nur komische Zeichen.

Wie muss ich des machen?


Danke!!!
 
Welche Plattform? Auf Asm Ebene funktioniert das bei jedem OS anders. Desswegen das ganze erstmal als C Code:

Code:
int z=12345;

for(;z!=0;z/=10) printf("%c", '0'+z%10);

Allerdings fällt mir gerade auf, dass das die Zahl in umgekehrter Reihenfolge ausgibt :P. Musst du also noch umdrehen.
 
Zurück
Oben Unten