11. Directivas del ensamblador¶
11.1. Etiquetas¶
label(INNER1)
Esto define una etiqueta para su uso en una instrucción de bifurcación. Así, en otra parte del código un b(INNER1) hará que la ejecución continúe con la instrucción posterior a la directiva de etiqueta.
11.2. Definir datos en línea¶
Las siguientes directivas del ensamblador facilitan la incorporación de datos en un bloque de código ensamblador.
data(size, d0, d1 .. dn)
La directiva data crea un arreglo de valores de datos en memoria. El primer argumento especifica el tamaño en bytes de los argumentos siguientes. Por tanto, la primera instrucción de abajo hará que el ensamblador coloque tres bytes (con los valores 2, 3 y 4) en posiciones de memoria consecutivas, mientras que la segunda hará que emita dos palabras de cuatro bytes.
data(1, 2, 3, 4)
data(4, 2, 100000)
Los valores de datos de más de un byte se almacenan en memoria en formato little-endian.
align(nBytes)
Alinea la siguiente instrucción a un valor de nBytes. Las instrucciones ARM Thumb-2 deben estar alineadas a dos bytes, por lo que es aconsejable emitir align(2) después de las directivas data y antes de cualquier código posterior. Esto garantiza que el código se ejecutará independientemente del tamaño del arreglo de datos.