Acceso al bus de datos en Intel 8086

1

Me pregunto cómo se ejecuta una instrucción de múltiples bytes cuando solo hay un bus de datos de 16 bits. Supongamos que la instrucción es MOV AX,[10H] . El código de máquina de esta instrucción es de 3 bytes. Al combinar los registros CS: IP, se genera una dirección de 20 bits y se accede a tres bytes (que representan el código de máquina de esa instrucción).

                 |           |
        CS:IP -> +-----------+
                 |    A0     |
                 +-----------+
                 |    10     |
                 +-----------+
                 |    00     |
                 +-----------+
                 |           |

Como puede ver, tenemos que colocar A01000 en el bus de datos.

    
pregunta mahmood

1 respuesta

3

El procesador Intel 8086 no ejecuta comandos directamente desde el bus de datos. En su lugar, los comandos en CS: IP se envían a cola de captura previa de 6 bytes y se ejecutan desde allí. Esta cola se diseñó específicamente para dar cabida a una instrucción completa, y la longitud máxima de la instrucción en 8086 está limitada a 6 bytes.

    
respondido por el Dmitry Grigoryev

Lea otras preguntas en las etiquetas