2009-05-21 13 views

risposta

22

Il C e il D sono numeri/tipi e H per alto e L per le parti basse del registro più alto. http://en.wikipedia.org/wiki/X86

Wikipedia lo spiega molto bene.

Altro dal Wikipedia:

  1. AX/EAX/RAX: accumulatore
  2. BX/EBX/RBX: base
  3. CX/ECX/RCX: contatore
  4. DX/EDX/RDX : dati /generale
+4

Per più storia e la spiegazione: http://www.swansontec.com/sregisters.html – rmmh

+0

@ Daniel, sei mancato ESI, EDI, EBP, ecc – Pacerier

18

Something i found

* EAX - Accumulator Register 
* EBX - Base Register 
* ECX - Counter Register 
* EDX - Data Register 
* ESI - Source Index 
* EDI - Destination Index 
* EBP - Base Pointer 
* ESP - Stack Pointer 
17

È storia. L'x86 proveniva dall'8086, che proveniva dall'8080, che proveniva dall'8008, che proveniva dal 4004. C'erano registri a 16 bit AX, BX, ecc. E per l'80386 si erano "estesi" a 32 bit.

Aggiunto: BTW Motorola 68K aveva registri a 32 bit dall'inizio, quindi è stato molto più facile programmare per i primi due decenni. Ho lavorato a progetti in cui Intel è stata scelta per ragioni di business, non tecniche.

+0

ISN storia 't continuo - l'8080 ha diversi nomi di registro, e quei nomi sono entrati con l'8086. Vale la pena notare l'architettura CISC qui, con registri di scopo speciale, in entrambe le varianti 8086 e 8080, però - RISC è arrivato più tardi, con il suo' tutti i registri hanno lo stesso approccio (aiutato da 32 bit per istruzione invece di provare a codificare la maggior parte delle istruzioni in 8 bit). – ijw

+1

@ijw - ma ci sono/sono stati traduttori da 8080 a 8086 e c'è una mappatura. Il registro A di 8080 è diventato AL, la coppia di registri B dell'8080, CH è diventata CH, CL. La coppia di registri dell'8080 D, E divenne DH, DL. La coppia di registri dell'8080 H, L divenne BH, BL. 8086 include istruzioni LAHF e SAHF che aiutano nella traduzione da 8080 a 8086. 8086 ha aggiunto registri come SI (indice di origine), DI (indice di destinazione) e BP (puntatore di base che per impostazione predefinita registra il segmento SS). – rcgldr

3

I processori precedenti hanno accumulatori denominati A, B, ecc. (Ordine alfabetico). Quando sono stati sviluppati accumulatori a 16 e 32 bit, gli ingegneri hanno aggiunto una X (estesa). Quindi è tutto sulla storia, dato che il linguaggio C è chiamato così perché è stato sviluppato dal linguaggio B (laboratori Bell).

La convenzione è solo interna, per stare al passo con i nomi con cui hanno familiarità.

+0

In realtà i registri non sono in ordine alfabetico. L'ordine reale è A, C, D, B –