三、半字、有符号字节寻址
这类指令可用来加载有符号字节、加载有符号半字、加载/存储无符号半字。一般称这类指令为“杂类的Load/Store指令”。
Load/Store指令对半字、有符号字节操作指令编码格式如下:
汇编指令汇编语法格式如下:
加载有符号字节到寄存器:LDR {<cond>}SB <Rd>, <addressing_mode>
加载有符号半字到寄存器:LDR {<cond>}SH <Rd>, <addressing_mode>
加载无符号半字到寄存器:LDR {<cond>}H <Rd>, <addressing_mode>
存储无符号半字到内存:STR {<cond>}H <Rd>, <addressing_mode>
cond为指令执行的条件
Rn为基址寄存器,Rd为源/目标寄存器,addressing_mode为内存地址构成格式,对应指令编码中的S、H位编码在4.3.2节详细介绍。
P(bit[24]) | 描述 |
P=1 | 前变址操作 |
P=0 | 后变址操作 |
U(bit[23]) | 描述 |
U=1 | 内存地址address为基址寄存器Rn值加上地址偏移量 |
U=0 | 内存地址address为基址寄存器Rn值减去地址偏移量 |
I(bit[22]) | 描述 |
I=1 | 偏移量为8位立即数 |
I=0 | 偏移量为寄存器 |