读书笔记<1>——指令:计算机的语言
2013-09-22 19:48
169 查看
1、MIPS 指令字段
R型:op(6)+rs(5)+rt(5)+rd(5)+shamt(5)+funct(6) 一般指令
I 型:op(6)+rs(5)+rt(5)+constant/address(16) lw sw等
J型:op(6)+add(26) 跳转指令J
2、PC相对寻址
MIPS指令都是4字节长的(32位)因此低两位必然为0。 所以PC相对寻址时低16位存储的是字地址(去掉低2位)而非字节地址,寻址范围也就扩大了4倍。
同样的跳转指令的26位字段,可以表示28位的字节地址,也就是256M的来历。
3、要跳转的距离超过16位所能表示怎么办?
beq $s0, $s1, L1
如果我们用两条指令来替换上述指令,跳转范围可大大增加。这是因为条件分支offset只有16位表示,而跳转指令则有26位
bne $s0, $s1, L2
j L1
L2
R型:op(6)+rs(5)+rt(5)+rd(5)+shamt(5)+funct(6) 一般指令
I 型:op(6)+rs(5)+rt(5)+constant/address(16) lw sw等
J型:op(6)+add(26) 跳转指令J
2、PC相对寻址
MIPS指令都是4字节长的(32位)因此低两位必然为0。 所以PC相对寻址时低16位存储的是字地址(去掉低2位)而非字节地址,寻址范围也就扩大了4倍。
同样的跳转指令的26位字段,可以表示28位的字节地址,也就是256M的来历。
3、要跳转的距离超过16位所能表示怎么办?
beq $s0, $s1, L1
如果我们用两条指令来替换上述指令,跳转范围可大大增加。这是因为条件分支offset只有16位表示,而跳转指令则有26位
bne $s0, $s1, L2
j L1
L2
相关文章推荐
- Effective C++ 学习笔记<1> 视C++为一个语言联邦
- <<高级语言程序设计>>读书笔记
- 《Effective C#》读书笔记——条目2:用运行时常量而不是编译期常量<C#语言习惯>
- <你必须知道的261个Java语言问题>3、4章读书笔记
- ns2中的脚本语言Tcl的基础知识<1>
- 计算机图形学 所需要的数学知识--<<计算机图形学(第三版)>>读书笔记
- 《Effective C#》读书笔记——条目1:使用属性而不是可访问的数据成员<C#语言习惯>
- Lua语言学习<1>
- <学习笔记>王爽汇编语言__转移指令原理
- 《Effective C#》读书笔记——条目11:理解短小方法的优势<C#语言习惯>
- 《Effective C#》读书笔记——条目3:推荐使用is或as而不是强制转换类型<C#语言习惯>
- 《Effective C#》读书笔记——条目10:使用可选参数减少方法重载的数量<C#语言习惯>
- foundation silverligh3 animation 读书笔记<1>transform
- <学习笔记>王爽汇编语言__[BX]和loop指令
- 《Effective C#》读书笔记——条目5:为类型提供ToString()方法<C#语言习惯>
- 《Effective C#》读书笔记——条目6:理解几个等同性判断之间的关系<C#语言习惯>
- <学习笔记>王爽汇编语言__CALL和RET指令
- <1>Lua 环境搭建与语法基础
- 条件选择结构<1>__笔记(3)