iT邦幫忙

2024 iThome 鐵人賽

DAY 15
1
自我挑戰組

上班辦公室,下班讀書室:RISC-V / ARM64 體系結構編程與實踐系列 第 15

[鐵人賽] Day 15 ARM 第 3 章節 A64指令集(1) -- Load/Store 指令(2)

  • 分享至 

  • xImage
  •  

今日的行程:
讀書室:21:00 - 21:30

正片開始

今日的記錄:

Load / Store instruction

LDR X0, [X1]                    // X0 = *(X1)
LDR X0, [X1, #8]                // X0 = *(X1 + 0x8)
LDR X0, [X1, X2]                // X0 = *(X1 + X2)
LDR X0, [X1, X2, LSL #3]        // X0 = *(X1 + X2 << 3)
LDR X0, [X1, W2, SXTW]          // X0 = *(X1 + sign_extend(W2))
LDR X0, [X1, W2, SXTW #3]       // X0 = *(X1 + (sign_extend(W2) << 3))

LDR X0, [X1, #8]!               // X1 = (X1 + 0x8); X0 = *(X1)
LDR X0, [X1], #8                // X0 = *(X1); X1 = X1 + 0x8

LDR X0, 0x20                    // X0 = PC + 0x20

// PUSH, POP
STP x29, x30, [sp, #-16]!       // sp = sp - 0x16; *(sp) = x29; *(sp + 0x8) = x30
LDP x29, x30, [sp], #16         // x29 = *(sp); x30 = *(sp + 0x8); sp = sp + 0x16

MOV

mov <Xd>, <Xn>
mov <Xd>, #<imm> (16 bit-width imm << {0, 16, 32, 48})

mov x0, 0x12bc0000
--> movz x0, #0x12bc, lsl #16

mov x0, 0xffff0000ffff
--> orr x0, xzr, #0xffff0000ffff

總結

  • ARM64 的 load/store 指令小攻略,直接上範例和行為比較好懂一些

上一篇
[鐵人賽] Day 14 ARM 第 3 章節 A64指令集(1) -- Load/Store 指令(1)
下一篇
[鐵人賽] Day 16 ARM 第 4 章節 A64指令集(2) -- Arithmetic & Shifting Instruction
系列文
上班辦公室,下班讀書室:RISC-V / ARM64 體系結構編程與實踐26
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言