本章将实现MIPS32指令集架构中定义的加载存储指令,分两步:首先实现除ll、sc指令外的一般加载存储指令,其次实现比较特殊的加载存储指令ll、sc。
9.1 加载存储指令说明
MIPS指令集架构中定义的加载存储指令共有14条,如下:
9.1.1 加载指令lb,lbu,lh,lhu,lw说明
加载指令lb,lbu,lh,lhu,lw说明
从图中可知,这5条加载指令可以根据指令中26-31bit的指令码加以区分,另外,加载指令的第0-15bit是offset,第21-15bit是base,加载地址的计算方法如下,先将16位的offset符号扩展为32位,然后与地址为base的通用寄存器的值相加,即可得到加载地址。