Tenemos el resultado a esta aprieto, al menos eso esperamos. Si continuas con interrogantes puedes dejarlo en el apartado de preguntas y con gusto te ayudaremos
Solución:
Revisión rápida,
- base de datos – Definir byte. 8 bits
- DW – Definir palabra. Generalmente 2 bytes en un sistema típico x86 de 32 bits
- DD – Definir palabra doble. Generalmente 4 bytes en un sistema típico x86 de 32 bits
Del tutorial de ensamblaje x86,
La instrucción pop elimina el elemento de datos de 4 bytes de la parte superior de la pila compatible con hardware en el operando especificado (es decir, registro o ubicación de memoria). Primero mueve los 4 bytes ubicados en la ubicación de la memoria [SP] en el registro especificado o ubicación de memoria, y luego incrementa SP en 4.
Su número es de 1 byte. Intenta declararlo con DD
para que se convierta en 4 bytes y coincida con pop
semántica.
La lista completa es:
DB, DW, DD, DQ, DT, DDQ y DO (utilizados para declarar datos inicializados en el archivo de salida).
Ver: http://www.tortall.net/projects/yasm/manual/html/nasm-pseudop.html
Se pueden invocar en una amplia gama de formas: (Nota: para Visual-Studio, use la sintaxis “h” en lugar de “0x”, por ejemplo, no 0x55 sino 55h):
db 0x55 ; just the byte 0x55
db 0x55,0x56,0x57 ; three bytes in succession
db 'a',0x55 ; character constants are OK
db 'hello',13,10,'$' ; so are string constants
dw 0x1234 ; 0x34 0x12
dw 'A' ; 0x41 0x00 (it's just a number)
dw 'AB' ; 0x41 0x42 (character constant)
dw 'ABC' ; 0x41 0x42 0x43 0x00 (string)
dd 0x12345678 ; 0x78 0x56 0x34 0x12
dq 0x1122334455667788 ; 0x88 0x77 0x66 0x55 0x44 0x33 0x22 0x11
ddq 0x112233445566778899aabbccddeeff00
; 0x00 0xff 0xee 0xdd 0xcc 0xbb 0xaa 0x99
; 0x88 0x77 0x66 0x55 0x44 0x33 0x22 0x11
do 0x112233445566778899aabbccddeeff00 ; same as previous
dd 1.234567e20 ; floating-point constant
dq 1.234567e20 ; double-precision float
dt 1.234567e20 ; extended-precision float
DT no acepta constantes numéricas como operandos y DDQ no acepta constantes flotantes como operandos. Cualquier tamaño mayor que DD no acepta cadenas como operandos.
Al final de la post puedes encontrar las ilustraciones de otros usuarios, tú igualmente eres capaz insertar el tuyo si lo crees conveniente.