hiho,
ich habe vor einer stunde mal mit assembler angefangen und dabei ist das hier herausgekommen:
klar ist, dass ich in al die adresse vom string1 kopieren muss und dann noch das dl quasi als offset, das dl zeigt an, der wievielte buchstabe ab dem anfang von string1 in al kopiert werden soll (bzw. die adresse des wievielten). Dummerweise funktioniert es nicht ("reserved word used as symbol"). wenn ich allerdings [string1+2] z.B. schreibe, geht es. wie kann ich dem sagen, dass er den wert von dl dazuaddieren soll und nicht irgendwas anderes?
ich habe vor einer stunde mal mit assembler angefangen und dabei ist das hier herausgekommen:
Code:
jmp after_data ;damit deklarationen nicht ausgefuehrt werden
string1 db "Hallo Welt!",13,10
after_data:
mov dx,0
mov cx,12 ;zwoelf mal wiederholen, da zwoelf zeichen
mov ah,0Eh ;funktionsnummer
schleifenanfang:
mov al,[string1+dl] ;adresse des ersten buchstabens <--HIER IST DER FEHLER
inc dx ;der naechste buchstabe
int 10h
loop schleifenanfang
klar ist, dass ich in al die adresse vom string1 kopieren muss und dann noch das dl quasi als offset, das dl zeigt an, der wievielte buchstabe ab dem anfang von string1 in al kopiert werden soll (bzw. die adresse des wievielten). Dummerweise funktioniert es nicht ("reserved word used as symbol"). wenn ich allerdings [string1+2] z.B. schreibe, geht es. wie kann ich dem sagen, dass er den wert von dl dazuaddieren soll und nicht irgendwas anderes?