1. פקודות העברת אוגרים

1.1. מוסכמות המסמך

סימון: Rd, Rn מציינים את אוגרי ARM‏ R0-R15. ‏immN מציין ערך מיידי בעל רוחב של N ביטים. פקודות אלה משפיעות על דגלי התנאי.

1.2. העברות אוגרים

כאשר נעשה שימוש בערכים מיידיים, אלה מורחבים באפסים ל-32 ביט. כך mov(R0, 0xff) יגדיר את R0 ל-255.

  • mov(Rd, imm8) Rd = imm8

  • mov(Rd, Rn) Rd = Rn

  • movw(Rd, imm16) Rd = imm16

  • movt(Rd, imm16) Rd = (Rd & 0xffff) | (imm16 << 16)

movt כותב ערך מיידי לחצי-המילה העליונה של אוגר היעד. הוא אינו משפיע על תוכן חצי-המילה התחתונה.

  • movwt(Rd, imm32) Rd = imm32

movwt היא פסאודו-פקודה: האסמבלר של MicroPython פולט movw ואחריו movt כדי להעביר ערך של 32 ביט לתוך Rd.