he llegado a aprender que no se puede empujar un byte directamente sobre la pila del procesador Intel Pentium, ¿alguien puede explicar esto a mí por favor?¿Por qué no es posible insertar un byte en una pila en Pentium IA-32?
La razón por la que me han dado es debido a que el registro ESP es direccionable palabra (o, que es el supuesto en nuestro modelo) y debe ser un "siquiera la cuestión". Hubiera supuesto que disminuir el valor de un número binario de 32 bits no interferiría con la alineación del registro, pero aparentemente no entiendo lo suficiente.
He intentado algunas pruebas NASM y creo que si declaro una variable (mordida db 123) y la presiono sobre la pila, esp se reduce en 4 (lo que indica que empujó 32 bits?). Pero, "empuje bytes mordida" (lo siento por mi elección de nombres de variables) dará lugar a un error de tipo:
test.asm: 10: error: no compatible no de 32 bits reubicación ELF
Cualquier palabra de la sabiduría sería muy apreciada durante este tiempo problemático. Soy primer año de pregrado, así que lamento mi ingenuidad en todo esto.
Muy informativo, pero lamentablemente todavía está por encima de lo que puedo comprender con mi conocimiento actual. –
@Tim - Comprensible. Quizás aún vale la pena leerlo rápidamente. –
Espera, espera. Cada ubicación de memoria tiene 32 bits de ancho, por lo que si presionas un valor, se reducirá la pila en 4 bytes, porque 4 * 8 es de 32 bits, y si la decrementara en 2, entonces trataría de hacer un desalineado leer, implosionar el universo? ¿Es eso correcto? Si es así, obtienes los puntos, ese PDF fue increíble (2º). –