文章目录
1. 指令格式
1.1 指令的基本概念
指令(又称机器指令):是指示计算机执行某种操作的命令,是计算机运行的最小功能单位。
一台计算机的所有指令的集合构成该机的指令系统,也称为指令集。
而一条指令有操作码和地址码两部分组成。
注:一台计算机只能执行自己指令系统中的指令,不能执行其他系统的指令。Eg:x86架构、ARM架构 上的软件不能互相在对方上直接运行。
1.2 指令的分类
1.2.1 按地址码数目分类
1.2.2 按指令的长度分类
1.2.3 按操作码长度分类
1.2.4 按操作类型分类
1.2.4 小结
1.3 扩展操作码
1.3.1 扩展操作码的组成
1.3.2 扩展操作码的设计
1.3.3 扩展操作码与定长操作码的对比
2. 指令的寻址方式
2.1 指令寻址和数据寻址
2.1.1 指令寻址(通过PC)
* 指令寻址的分类:
1. 顺序寻址: 由 PC自动加"1"得到
2. 跳跃寻址: 执行类似jmp跳跃指令,直接更改PC的值,实现指向下一条指令。
对于定长和变长指令的顺序寻址方式如下(跳跃寻址由跳跃指令决定,指令定不定长对其无影响):
2.1.2 数据寻址
由于数据寻址的方式有很多,有如下10中,自然的在寻址时要对寻址方式加以区分,导致地址码被细分成寻址特征 + 形式地址
。其中寻址特征就是用来区分寻址方式的。
2.1.2.1 直接寻址
2.1.2.2 间接寻址
2.1.2.3 寄存器寻址
2.1.2.4 寄存器间接寻址
2.1.2.5 隐式寻址
2.1.2.6 立即寻址
2.1.2.7 基于偏移量进行寻址
2.1.2.7.1 基址寻址
注意:如果采用的是通用寄存器的方式,则还需要在寻址特征与形式地址A之间让出几位用于标记是哪个通用寄存器。若是专用寄存器,则不需要。
2.1.2.7.2 变址寻址
注意:如果采用的是通用寄存器的方式,则还需要在寻址特征与形式地址A之间让出几位用于标记是哪个通用寄存器。
2.1.2.7.3 相对寻址
注意:
EA = (PC) + A
, 这里的PC是自动加一后的PC
2.1.2.8 堆栈寻址
注意:
2.1.2.9 小结
注意:
- 相对寻址用于实现程序内部代码的”浮动“;基址寻址用于实现程序在内存中的”浮动“;变址寻址用于实现程序内部的循环和访问数组。
- 上面的寻址方式一般相互组合使用。
- 基址寻址的寄存器用户不可使用,由操作系统管理。而变址寻址的寄存器用户可以使用。
- 几个偏移寻址的功能:
- 基址寻址用于实现程序在内存中浮动,有利于实现多道程序;
- 相对寻址用于实现程序内部的浮动,也有利于实现多道程序,因为在内存中各个程序段也有可能浮动;也有利于实现程序的转移/跳转。【注意是转移不是浮动,程序的浮动是基址寻址的功能】
- 变址寻址用于实现循环程序,访问数组。
2.2 CISC vs RISC
3. 补充
3.1 一些简单的汇编语句
3.2 知识点补充
1. 判断:指令系统是计算机软/硬件的界面。
正确。指令是系统位于软件和硬件的交界面上,是软件的最低级界面,是硬件的最高级界面(指令驱动硬件运行)。
2. 判断:指令系统和机器语言无关。
错误。指令系统是计算机硬件的语言系统,而机器语言与硬件息息相关,故指令系统与机器语言相关。
3. CPU执行过程中,指令的地址都是由PC给出。而无论是什么寻址,想改变程序执行的跳转,都是通过修改PC的值实现的。
4. 运算型指令的功能是取操作数,控制型指令的功能是改变程序执行的顺序。
常见的控制指令:循环指令、转换指令、条件转移指令、无条件转移指令、子程序调用指令、返回指令等
注意:中断指令是由硬件实现的,并不是指令系统中的指令。
5. 指令系统中采用不同寻址方式的原因是( )
A. 提供扩展操作码的可能并降低指令译码难度。
B. 可缩短指令字长、扩大寻址空间、提高编程的灵活性。
C. 实现程序的控制
D. 以上都正确。
选B。A中指令译码难度增加,因为寻址方式变多了。C,实现程序的控制是由靠转移指令而非寻址方式实现的。
B中采用立即寻址可缩短指令字长,采用寄存器寻址可扩大寻址空间,采用相对寻址可提高编程的灵活性。
6. 简化地址结构的基本方法是尽量采用( )
A. 寄存器寻址 B. 隐地址 C. 直接寻址 D. 间接寻址。
选B。只有B才能最大的缩短地址码位数。
7. 关于指令的功能及分类,正确的是( )
A. 算术与逻辑运算指令,通常完成算术运算或逻辑运算,都需要两个数据。
B. 移位操作指令,通常用于把指定的两个操作数左移或右移一位。
C. 转移指令,子程序调用与返回指令,用于解决数据调用次序的需求
D. 特权指令,通常仅用于实现系统软件,这类指令一般不提供给用户。
选D. A,不一定需要两个数据,比如取反。B,移位是针对一个操作数。C,是用于解决指令调用次序的需求。
8. 判断:
A. RISC机一定采用流水技术
B. 采用流水技术的一定是RISC机
C. RISC机的兼容性优于CISC机
D. CPU配置很少的通用寄存器
只有A正确。
9.
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/84596.html