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 ולפני כל קוד עוקב. זה מבטיח שהקוד ירוץ ללא תלות בגודל מערך הנתונים.