Este es un readme estructurado para el ensamblaje x86 , está escrito en el idioma más fácil posible con ejemplos del mundo real. ?
| Tipo de Intel | Brocas | Nombre |
|---|---|---|
| - | 8 bits | BYTE |
| 8086 | 16 bits | PALABRA |
| i386 | 32 bits | Palabras |
| x86 | 64 bits | QWORD |
dword = dword = (doble palabra)
qword = qword = (quad-word)
En el brazo de 32 bits CPU, una palabra es de 32 bits.


(Texto más antiguo de la Universidad de Ciencias de la Ciencias de la Universidad de Virginia (2006), una de las mejores guías para el ensamblaje X86)
Los procesadores modernos (es decir, 3 86 y más allá) x 86 tienen ocho registros de propósito general de 32 bits, como se muestra en la Figura 1. Los nombres de registro son en su mayoría históricos . Por ejemplo, EAX solía llamarse acumulador, ya que fue utilizado por una serie de operaciones aritméticas, y ECX se conocía como contador ya que se usó para mantener un índice de bucle. Mientras que la mayoría de los registros han perdido sus propósitos especiales en el conjunto de instrucciones modernas, por convención, dos están reservados para fines especiales: el puntero de la pila (ESP) y el puntero base (EBP).
Para los registros EAX , EBX , ECX y EDX , se pueden usar subsecciones. Por ejemplo, los 2 bytes menos significativos de EAX pueden tratarse como un registro de 16 bits llamado AX . El byte menos significativo de AX se puede usar como un solo registro de 8 bits llamado AL , mientras que el byte más significativo de AX se puede usar como un solo registro de 8 bits llamado AH . Estos nombres se refieren al mismo registro físico. Cuando se coloca una cantidad de dos bytes en DX , la actualización afecta el valor de DH , DL y EDX . Estos subregistros son principalmente retrasos de versiones más antiguas de 16 bits del conjunto de instrucciones. Sin embargo, a veces son convenientes cuando se trata de datos que son más pequeños que 32 bits (por ejemplo, caracteres ASCII de 1 byte) .
Al referirse a los registros en el lenguaje de ensamblaje, los nombres no son sensibles a los casos . Por ejemplo, los nombres EAX y EAX se refieren al mismo registro .


En X86, los registros tienen una ' E ' frente a su nombre.
Ejemplo: E Ax, E BX, E CX, E DX, E BP
Información adicional:
En x64 tienes un ' R ' en su lugar.
Ejemplo: R Ax, R Bx, R Cx, R Dx, R BP
También tiene un punto flotante de doble precisión que va de XMM0 a XMM15 .

Asamblea completa de hoja de trucos x86, 20 páginas.

