數(shù)據(jù)傳送指令之:單寄存器的Load/Store指令
5.3.5 用戶模式字節(jié)數(shù)據(jù)傳送指令(LDRBT/STRBT)
1.LDRBT指令
(1)指令編碼格式
LDRBT指令根據(jù)post_indexed_addressing_mode>地址模式將一個8位字節(jié)讀取到指令中的目標(biāo)寄存器Rd>。
當(dāng)處理器在特權(quán)模式下執(zhí)行此指令時,內(nèi)存系統(tǒng)將該操作當(dāng)作一般用戶模式下的內(nèi)存訪問操作。
指令的編碼格式如圖5.11所示。
圖5.11 LDRBT指令編碼格式
注意 | LDRBT指令加載一個內(nèi)存地址的8位字節(jié)到一個通用寄存器中。寄存器的高位數(shù)據(jù)補(bǔ)0。 |
(2)指令的語法格式
LDR{cond>}BT Rd>,post_indexed_addressing_mode>
① cond>
為指令編碼中的條件域。它指示LDRBT指令在什么條件下執(zhí)行。當(dāng)cond>忽略時,指令為無條件執(zhí)行(cond=AL(Alway))
。
② Rd>
確定使用哪個通用寄存器作為目標(biāo)寄存器。
③ post_indexed_addressing_mode>
使用后索引地址模式尋址,參見LDRT指令。
(3)指令操作的偽代碼
指令操作的偽代碼如下面程序段所示。
If ConditionPassed{cond} then
Rd=Memory[address,1]
2.STRBT指令
(1)指令編碼格式
STRBT指令用于將一個8位的字節(jié)數(shù)據(jù)寫入到指令中指定的內(nèi)存單元。
當(dāng)處理器在特權(quán)模式下執(zhí)行此指令時,內(nèi)存系統(tǒng)將該操作當(dāng)作一般用戶模式下的內(nèi)存訪問操作。
指令的編碼格式如圖5.12所示。
圖5.12 STRBT指令編碼格式
(2)指令的語法格式
STR{cond>}BT Rd>,addr_mode>
① cond>
為指令編碼中的條件域。它指示LDRBT指令在什么條件下執(zhí)行。當(dāng)cond>忽略時,指令為無條件執(zhí)行(cond=AL(Alway))。
② Rd>
確定使用哪個通用寄存器作為目標(biāo)寄存器。
③ post_indexed_addressing_mode>
使用后索引地址模式尋址,參見LDRT指令。
(3)指令操作的偽代碼
指令操作的偽代碼如下面程序段所示。
If ConditionPassed{cond} then
Memory[address,1]=Rd[7:0]
存儲器相關(guān)文章:存儲器原理
評論