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.