11. Assembler yönergeleri#

11.1. Etiketler#

  • label(INNER1)

Bu, bir dallanma komutunda kullanılmak üzere bir etiket tanımlar. Dolayısıyla kodun başka bir yerinde bir b(INNER1), çalıştırmanın etiket yönergesinden sonraki komutla devam etmesine neden olur.

11.2. Satır içi veri tanımlama#

Aşağıdaki assembler yönergeleri, bir assembler kod bloğuna veri gömmeyi kolaylaştırır.

  • data(size, d0, d1 .. dn)

data yönergesi, bellekte bir veri değerleri dizisi oluşturur. İlk argüman, sonraki argümanların bayt cinsinden boyutunu belirtir. Dolayısıyla aşağıdaki ilk ifade, assembler’ın art arda gelen bellek konumlarına üç bayt (2, 3 ve 4 değerleriyle) koymasına neden olurken, ikincisi iki adet dört baytlık kelime yaymasına neden olur.

data(1, 2, 3, 4)
data(4, 2, 100000)

Tek bir bayttan daha uzun veri değerleri bellekte little-endian biçiminde saklanır.

  • align(nBytes)

Sonraki komutu bir nBytes değerine hizalar. ARM Thumb-2 komutları iki bayt hizalı olmalıdır, dolayısıyla data yönergelerinden sonra ve sonraki herhangi bir koddan önce align(2) vermek tavsiye edilir. Bu, kodun veri dizisinin boyutundan bağımsız olarak çalışmasını sağlar.