Che x86 registrare denota posizione di origine nell'istruzione movsb?
-
28-09-2019 - |
Domanda
Cosa x86 registrare denota posizione di origine nell'istruzione movsb?
Soluzione
In modalità 32 bit, esi
.
In particolare, copie movsb
un byte da ds:esi
a es:edi
, le si regola sia esi
e edi
da 1, sia su o giù a seconda del flag di direzione.
Altri suggerimenti
Come estrarre queste informazioni dal manuale
Ora che avete effettuato l'accesso a osdev.org, è il momento di pagare il debito morale in realtà impararla. : -)
manuale Intel Volume 2 del set di istruzioni - 325383-056US settembre 2015 sezione " MOVS / movsb / MOVSW / movsd / MOVSQ-spostare i dati da corda a corda", dice:
sposta il byte, parola o doppia parola specificato con il secondo operando (operando sorgente) alla posizione specificata con il primo operando (destinazione operando). Entrambi gli operandi sorgente e destinazione si trovano nella memoria. Il indirizzo dell'operando sorgente viene letta dal DS: ESI o DS: SI registri
programma di test Minimal
Infine, è necessario fare un programma minimo che utilizza l'istruzione per vedere se hai capito correttamente:
section .data
src db 0
dest db 1
section .text
global _start
_start:
mov esi, src
mov edi, dest
cld
movsb
/* dest == 0*/
Versione Runnable di questo con affermazioni su GitHub .