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