Ambos operadores en memoria

Ambos operadores en memoria

de Guillermo Gabrielli Ferreira -
Número de respuestas: 1

Es posible el uso de ambos operadores en memoria para las instrucciones vistas en el curso? en la cartilla solo aclara para la instrucción MOV pero no aclara para las demás instrucciones. Por el formato de instrucción en las notas parece que no pero no está claro, aunque por ejemplo la instrucción PUSH [mem] accede implicitamente a 2 lugares de memoria, a mem y al stack.

En respuesta a Guillermo Gabrielli Ferreira

Re: Ambos operadores en memoria

de Martin Rocanova Nuñez -

Arquitectura intel 8086
2.- Direccionamiento y Registros de Segmento
MOV juan, AX (instrucción memoria, registro)
MOV CX, AX (instrucción registro, registro )
MOV CX, 012B (instrucción registro, inmediato )
Sin embargo en el procesador intel 8086 no existen las instrucciones
memoria, memoria

FUENTE: http://www.ditec.um.es/so/apuntes/teoria/8086transparencias.PDF

Podrías por ejemplo usar un registro de uso general q te permita hacer la transicion:

Ponele, si quisieras hacer "MOV [DS + SI], [ES + DI]" (lo cual no anda), hacé:

PUSH AX ; mantener valor del registro
MOV AX, [ES + DI]
MOV [DS + SI], AX
POP AX ; recuperar registro AX (como una especie de salvado de contexto hago)

En pocas palabras, el acceso memoria a memoria en instrucciones (explícitamente) esta PROHIBIDO.

Saludos! :)