Thumb指令集之: 單寄存器數(shù)據(jù)傳送指令
11.5.5字節(jié)加載指令LDRB(1)
(1)編碼格式
字節(jié)加載指令LDRB(1)的編碼格式如圖11.46所示。
圖11.46LDRB(1)指令的編碼格式
LDRB(1)字節(jié)數(shù)據(jù)加載指令用于從內(nèi)存中將一個(gè)8位的字節(jié)數(shù)據(jù)讀取到指令中的目標(biāo)寄存器中,并將寄存器的高24位清零。常用于結(jié)構(gòu)體的數(shù)據(jù)訪問(wèn)。域的基地址放在Rn寄存器中。
(2)指令的語(yǔ)法格式
LDRBRd>,[Rn>,#immed_5>]
①Rd>
目的寄存器。
②Rn>
指令的基址寄存器。
③immed_5>
5位立即數(shù)。用于與Rn>寄存器中的數(shù)值相加,形成內(nèi)存訪問(wèn)地址。
(3)指令操作的偽代碼
address=Rn+immed_5
Rd=memory[address,1]
(4)對(duì)應(yīng)的ARM指令
LDRBRd>,[Rn>,#immed_5>]
11.5.6字節(jié)加載指令LDRB(2)
(1)編碼格式
字節(jié)加載指令LDRB(2)的編碼格式如圖11.47所示。
圖11.47LDRB(2)指令的編碼格式
LDRB(2)字節(jié)數(shù)據(jù)加載指令用于從內(nèi)存中將一個(gè)8位的字節(jié)數(shù)據(jù)讀取到指令中的目標(biāo)寄存器中,并將寄存器的高24位清零。此種形式的LDRB(2)指令常用于數(shù)組元素的訪問(wèn)。
(2)指令的語(yǔ)法格式
LDRBRd>,[Rn>,Rm>]
①Rd>
目的寄存器。
②Rn>
存放形成內(nèi)存訪問(wèn)地址的第一個(gè)寄存器。
③Rm>
存放形成內(nèi)存訪問(wèn)地址的第二個(gè)寄存器。
(3)指令操作的偽代碼
address=Rn+Rm
Rd=Memory[address,1]
(4)對(duì)應(yīng)的ARM指令
LDRBRd>,[Rn>,Rm>]
評(píng)論