In che modo x86 si occupa delle coppie di registri?

0

Ho letto di vecchi processori (8080, 8086 e così) e ho visto che quei vecchi processori a 8 bit avevano alcune istruzioni a 16 bit attraverso l'uso di coppie di registri. Ad esempio, sull'8080, l'istruzione XCHG scambia il valore tra la coppia HL e la coppia DE. se questi registri sono larghi 8 bit e il bus interno è largo 8 bit, in che modo il processore ha scambiato i valori con un'istruzione?

Grazie

    
posta DylanG 27.01.2018 - 00:01
fonte

2 risposte

2

XCHG è un'istruzione a tre micro-operazioni e richiede più cicli di clock rispetto, ad esempio, a MOV . Quindi, subito sappiamo che sta facendo qualcosa di più complicato.

Se controlli questo post , lo scambio potrebbe essere implementato tramite un registro nascosto o tramite una intelligente matematica bit a bit (tre XOR = uno scambio). In entrambi i casi, le dimensioni del bus non contano.

    
risposta data 27.01.2018 - 00:16
fonte
2

Utilizza un registro temporaneo interno. Ho estratto la mia copia antica di un manuale originale di IBM 8086 Macro Assembler. La descrizione dell'istruzione XCHG include:

The contents of the destination (left-most operand) are temporarily stored in an internal word register.

    
risposta data 27.01.2018 - 05:58
fonte

Leggi altre domande sui tag