From C structures to raw machine code. Mastering directives, control flow, and data arrangement. De estructuras en C a código máquina. Dominando directivas, flujo de control y organización de datos.
Santi Scagliusi, PhD
Directives start with a dot (.). They don't create machine code; they tell the assembler where to put things.
Las directivas comienzan con un punto (.). No generan código máquina; le dicen al ensamblador dónde colocar las cosas.
i--) are faster in Assembly because DEC updates the Zero flag automatically. You don't need a CMP instruction!
Los bucles decrementales (i--) son más rápidos en ensamblador porque DEC actualiza el flag Zero automáticamente. ¡No necesitas una instrucción CMP!
Memory is 1D. Matrices are 2D. We flatten them row by row.
La memoria es 1D. Las matrices son 2D. Las aplanamos fila por fila.
Addr = Base + (Row × Width + Col) × SizeDir = Base + (Fila × Ancho + Col) × Tamaño
The Stack is a temporary storage area in RAM. It grows downwards (from high address to low address).
La Pila es un área de almacenamiento temporal en RAM. Crece hacia abajo (de direcciones altas a direcciones bajas).
Used for:
Se utiliza para:
PUSH R4)Guardar registros (PUSH R4)CALLDirecciones de retorno durante CALL
PUSH: SP -= 2, then Write. POP: Read, then SP += 2.
CALL: Pushes return address (PC) then jumps.
PUSH: SP -= 2, luego escribe. POP: Lee, luego SP += 2.
CALL: Apila la dirección de retorno (PC) y salta.