11. คำสั่ง assembler#
11.1. ป้ายกำกับ#
label(INNER1)
สิ่งนี้กำหนด label สำหรับใช้ในคำสั่ง branch ดังนั้น ที่อื่นในโค้ด b(INNER1) จะทำให้การดำเนินการดำเนินต่อด้วยคำสั่งหลัง label directive
11.2. การกำหนดข้อมูลแบบ inline#
คำสั่ง assembler ต่อไปนี้ช่วยในการฝังข้อมูลในบล็อกโค้ด assembler
data(size, d0, d1 .. dn)
คำสั่ง data สร้างอาร์เรย์ของค่าข้อมูลในหน่วยความจำ อาร์กิวเมนต์แรกระบุขนาดเป็นไบต์ของอาร์กิวเมนต์ถัดไป ดังนั้นคำสั่งแรกด้านล่างจะทำให้ assembler วางสามไบต์ (ที่มีค่า 2, 3 และ 4) ในตำแหน่งหน่วยความจำที่ต่อเนื่องกัน ในขณะที่คำสั่งที่สองจะทำให้มันส่งออกสอง word สี่ไบต์
data(1, 2, 3, 4)
data(4, 2, 100000)
ค่าข้อมูลที่ยาวกว่าหนึ่งไบต์จะถูกเก็บในหน่วยความจำในรูปแบบ little-endian
align(nBytes)
จัดแนวคำสั่งถัดไปให้เป็นค่า nBytes ARM Thumb-2 instructions ต้องจัดแนวสองไบต์ ดังนั้นแนะนำให้ออก align(2) หลัง data directives และก่อนโค้ดถัดไป เพื่อให้แน่ใจว่าโค้ดจะทำงานได้โดยไม่คำนึงถึงขนาดของอาร์เรย์ข้อมูล