Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa |
cursos:ensamblador:ensambladores [19-01-2024 07:51] – sromero | cursos:ensamblador:ensambladores [24-01-2024 08:01] (actual) – sromero |
---|
| |
La desventaja de ''ALIGN'' es que el ensamblador lo que hace es rellenar con ceros el binario hasta conseguir que el siguiente byte del programa empiece en el múltiplo deseado, por lo que engordaremos el binario entre 0 (si da la casualidad de que ''tabla'' ya estaba en un múltiplo de 256) o 255 (si ''tabla'' casualmente ha caído 1 byte después de una dirección múltiple y necesitamos avanzar 255 bytes para llegar a la siguiente). | La desventaja de ''ALIGN'' es que el ensamblador lo que hace es rellenar con ceros el binario hasta conseguir que el siguiente byte del programa empiece en el múltiplo deseado, por lo que engordaremos el binario entre 0 (si da la casualidad de que ''tabla'' ya estaba en un múltiplo de 256) o 255 (si ''tabla'' casualmente ha caído 1 byte después de una dirección múltiple y necesitamos avanzar 255 bytes para llegar a la siguiente). |
| |
| \\ |
| De nuevo, **pasmo no tiene esta funcionalidad**, pero la podemos simular con macros:\\ |
| |
| <code z80> |
| ; Macro de alineacion para PASMO |
| align macro value |
| if $ mod value |
| ds value - ($ mod value) |
| endif |
| endm |
| |
| align 256 |
| </code> |
| |
| |
| |
\\ | \\ |
**[ [[.:indice|⬉]] | [[.:lenguaje_5|⬅]] | [[.:rutinas_rom|➡]] ]** | **[ [[.:indice|⬉]] | [[.:aritmetica|⬅]] | [[.:rutinas_rom|➡]] ]** |