主题:MIPS体系结构学习笔记(一) -- 镭射
该指令从未对齐的内存地址(有效地址)中加载一个字的最高有效部分,作为一个有符号的值,放入目标寄存器中。
指令格式: LWL rt,offset(base)
指令描述: rt<-rt MERGE memory[base+offset]
16位的有符号地址偏移量offset与通用基址寄存器base相加以形成有效地址,此地址是内存中起始于任意字节边界的4个连续字节(组成一个字W)的最高有效字节地址。W中的1到4个最高有效字节处于包含此有效地址的对齐字中,这部分字节加载到目标寄存器rt的最高有效位置(左边),rt中剩下的最低有效位置(右边)保持不变。
LWR的有效位定义与LWL相反。在LWR $24,5($0)指令中,偏移量5与基址寄存器相加形成有效地址。从位置5开始向前连续4个字节形成一个非对齐字(位置5对应LSB)。对齐字(包含4~7字节)包含了非对齐字的2个LSB字节。LWR加载这两个字节到目标寄存器的右半部分(最低的2个字节),目标字左半部分不变。
LWL/LWR指令加载的字节数取决于非对齐字相对于对齐字的偏移量,即与有效地址的低两位(vAddr1.0)及处理器的当前字节顺序(大尾端或小尾端)有关。
- 相关回复 上下关系7
🙂MIPS体系结构学习笔记(二) 2 镭射 字968 2010-10-16 04:18:32
🙂这几条用得不多 帅云霓 字50 2011-03-31 02:11:08
🙂非对齐加载指令和存储指令 镭射 字525 2010-10-22 05:40:22
🙂LWL(load word left)
🙂对齐加载指令和存储指令 镭射 字605 2010-10-22 05:30:21
🙂一般,不怎么用汇编写的 帅云霓 字57 2010-10-15 00:03:12
🙂See MIPS Run Linux,有电子版。 lamaindefer 字0 2010-10-14 09:18:03