mov instruktion
-
Wie tut man in einem loop bytes von einer speicheradresse auslesen?
(in cx liegt i)
ich hab schon folgendes versucht: mov al, ds:[cx]
mov al, es:[si]
mov al, [ds:cx]
mov ax, ...Aber es ergibt immer einen fehler.
Ich wäre dankbar für eine lösung.
-
wurst schrieb:
Wie tut man in einem loop bytes von einer speicheradresse auslesen?
(in cx liegt i)
ich hab schon folgendes versucht: mov al, ds:[cx]
mov al, es:[si]
mov al, [ds:cx]
mov ax, ...Aber es ergibt immer einen fehler.
Ich wäre dankbar für eine lösung.
google mal nach
rep lodsb
oder
rep movsb
-
Also mit lodsb wird si automatisch erhöht. Gut damit kann ich leben.
Danke für den tipp.
-
sothis_ schrieb:
google mal nach
rep lodsb
rep lodsb
-
ja?
-
"ein_Fachmann" spielt wahrscheinlich auf den Sinn dieser Befehlskombination an ... oder besser dessen Fehlen.
Taugt bestenfalls noch zum ausgefallenen Hack, um auch noch das letzte Byte an Programmgroesse einzusparen.
Eine Add/Sub von (e)cx-/+1 zu/von (e)si gefolgt von einem einfachen "lodsb" waere sonst zB. ungleich effektiver.
-
irrelevant in bezug auf die fragestellung imho
-
Aeh, ja. Sogar ganz generell irrelevant, wollte ich damit sagen.