Pregunta

¿Qué X86 registrarse denota ubicación de origen en la instrucción movsb?

¿Fue útil?

Solución

En 32-bit de modo, esi.

específico, copias movsb un byte de ds:esi a es:edi, las ajusta tanto esi y edi por 1, ya sea hacia arriba o hacia abajo dependiendo del indicador de dirección.

Otros consejos

¿Cómo extraer esa información del manual de

Ahora que ha iniciado sesión en osdev.org, es el momento de pagar su deuda moral realidad aprenderlo. : -)

Manual de Intel Volumen 2 conjunto de instrucciones referencia - 325383-056US de septiembre de el año 2015 la sección" MOVS / MOVSB ??/ MOVSW / MOVSD / MOVSQ-mover datos de cadena a cadena" dice:

  

Mueve el byte, palabra o palabra doble especifica con el segundo operando (operando fuente) en la ubicación especificada   con el primer operando (operando de destino). Tanto los operandos de origen y destino se encuentran en la memoria. los   dirección del operando fuente se lee de la DS: ESI o la DS: SI registros

Programa Mínimo de prueba

Por último, se debe hacer un programa mínimo que utiliza la instrucción para ver si ha entendido bien:

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

versión Ejecutable de esta con las afirmaciones en GitHub .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top