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 และก่อนโค้ดถัดไป เพื่อให้แน่ใจว่าโค้ดจะทำงานได้โดยไม่คำนึงถึงขนาดของอาร์เรย์ข้อมูล