西西河

主题:MIPS体系结构学习笔记(一) -- 镭射

共:💬9 🌺12
全看分页树展 · 主题 跟帖
家园 LWL(load word left)

该指令从未对齐的内存地址(有效地址)中加载一个字的最高有效部分,作为一个有符号的值,放入目标寄存器中。

指令格式: 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)及处理器的当前字节顺序(大尾端或小尾端)有关。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河