Frage

Was Bezeichnet Quellenort in MOVSB ??Befehlsregister x86?

War es hilfreich?

Lösung

In 32-Bit-Modus esi.

In bestimmten, movsb Kopien ein Byte von ds:esi zu es:edi, die sowohl esi einstellt und edi durch 1, entweder nach oben oder nach unten in Abhängigkeit von der Richtungsflags.

Andere Tipps

Wie diese Informationen aus dem Handbuch extrahieren

Nun, da Sie in osdev.org angemeldet haben, ist es Zeit, Ihre moralischen Schulden zu bezahlen, indem sie es tatsächlich zu lernen. : -)

Intel Manual Volume 2 Instruction Set Reference - 325383-056US September 2015 Abschnitt" MOVS / MOVSB ??/ MOVSW / MOVSD / MOVSQ-Verschieben von Daten von String in String“, sagt:

  

Verschiebt das Byte, Wort oder Doppel mit dem zweiten Operanden (Quelloperand) spezifiziert den Ort spezifiziert   mit dem ersten Operanden (Zieloperand). Sowohl die Quell- und Zieloperanden im Speicher befindet. Das   ESI oder die DS: Adresse des Quellenoperanden aus der DS las SI Register

Minimal-Testprogramm

Schließlich müssen Sie ein minimales Programm, das den Befehl verwendet, um zu sehen, wenn Sie es richtig verstanden haben:

section .data
    src db 0
    dest db 1
section .text
global _start
_start:
    mov esi, src
    mov edi, dest
    cld
    movsb
    /* dest == 0*/

Runnable-Version dieser mit Behauptungen auf GitHub .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top