11. توجيهات المُجمِّع#

11.1. التسميات#

  • label(INNER1)

يعرّف هذا تسمية لاستخدامها في تعليمة تفرع. وبذلك، فإن b(INNER1) في مكان آخر من الشيفرة سيتسبب في متابعة التنفيذ من التعليمة التي تلي توجيه التسمية.

11.2. تعريف البيانات المضمّنة#

تسهّل توجيهات المُجمِّع التالية تضمين البيانات في كتلة شيفرة المُجمِّع.

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

ينشئ توجيه data مصفوفة من قيم البيانات في الذاكرة. يحدد الوسيط الأول الحجم بالبايتات للوسائط اللاحقة. ومن ثم، فإن العبارة الأولى أدناه ستجعل المُجمِّع يضع ثلاثة بايتات (بالقيم 2 و3 و4) في مواقع ذاكرة متتالية بينما تجعله الثانية يُصدِر كلمتين من أربعة بايتات.

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

تُخزَّن قيم البيانات الأطول من بايت واحد في الذاكرة بصيغة little-endian.

  • align(nBytes)

حاذِ التعليمة التالية إلى قيمة nBytes. يجب أن تكون تعليمات ARM Thumb-2 محاذاة على بايتين، ومن ثم يُنصح بإصدار align(2) بعد توجيهات data وقبل أي شيفرة لاحقة. يضمن هذا أن الشيفرة ستعمل بغض النظر عن حجم مصفوفة البيانات.