408计算机组成原理学习笔记——指令系统(下)

简介: 408计算机组成原理学习笔记——指令系统

3.CISC/RISC

1.C(complex复杂):

①一条指令完成一个复杂的基本功能

②除了极复杂的某些指令不设计单独电路外,每条的指令都可以由一个单独的电路完成(电路设计复杂)

③复杂的指令通过多个电路配合存储部件实现——微程序

④指令长度不固定

2.R(Reduced精简)

①一条指令完成一个基本动作;多个指令组合成一个复杂的功能

②一条指令一个电路,但由于只提供基本操作,因此电路设计简单

③每条指令的执行时间都差不多——方便实现并行、流水线

④指令长度定长

46a3ec5553ee47a891ea74dcf704233c.png

4.程序的机器级代码表

4.1.常用汇编指令介绍13609754856340c0a2f752e09cf518ef.png

1.中括号内指明的是内存地址,常与读写长度结合使用,表示以该地址为首地址的多少空间内(dword ptr双字32bit,word ptr单字15bit,byte ptr字节8bit)

2.h代表的是十六进制

3.操作数若是二进制/十六进制数,则采用的是立即寻址

4.目的操作数d——destination,源操作数s——sourse

5.寄存器的种类:

0f77f0d56f864b44b03d1502d4fcca7d.png

①每个寄存器都为32bit

②EAX、EBX、ECX、EDX为通用寄存器:可以存放任何数据

可以只使用低16bit(AX、BX、CX、DX);也可以指定使用低16bit的高8bit和低8bit(AH、AL;BH、BL;CH、CL;DH、DL)

③EBP指向栈底,ESP指向栈顶

6.更多汇编指令示例:40245dea0233496f80368d8c090f3e5b.png

①寄存器间接寻址:ebx存放的是源操作数的主存地址

②寄存器间接寻址:ebx存放的是目的操作数的主存地址

③寄存器间接寻址:ebx存放的是源操作数的主存地址,取8bit

④未指明操作数大小的情况下,默认是32bit

⑤间接寻址:主存地址af996中存放的是目的操作数的主存地址,h表示af996是十六进制

⑥寄存器间接寻址:+8为偏移量,源操作数的主存地址为ebx寄存器中存放的地址 + 8

⑦间接寻址:-12位偏移量,h表示af996为十六进制,源操作数的主存地址为主存地址af996 - 12

4.2.常用的x86汇编指令

执行操作后,需要将结果放回目的操作数的地址中,因此,目的操作数不可以为常量

①算术运算指令

1.i表示有符号数的操作

2.除法指令中s为除数,被除数默认已经被放入edx和eax中(除法开始之前需要对被除数进行位扩展)

4972273208e04ee8b8bd65ca24f455c7.png

②逻辑运算指令 79ed55b3e937441a80bb8513bae11bdc.png

4.3.AT&T格式和INTER格式 image.png

①AT&T格式左边为源操作数,右边为目的操作数(与INTER格式相反)

②AT&T格式寄存器前需要加%(INTER格式不需要)

③AT&T格式立即数前加$(INTER格式直接给出立即数)

④AT&T格式主存地址为小括号(INTER格式主存地址为中括号)

⑤AT&T格式指令后增加b、w、l表示读/写的长度(分别对应INTER格式的dworld、word、btye)

⑥AT&T格式偏移量写在括号外(INTER格式偏移量写在括号内)

4.4.选择语句的机器级表示

1.无条件转移指令jmp:

①通过修改PC的内容改变下一条执行的指令

e452d66b122e4d08a07cc32bddcf0aa4.png

②通过标号跳转(jump NEXT)

21f4efdb816341af927501160a072eb7.png

2.条件转移指令:满足条件时才进行跳转

cmp实际上是做a - b(减法运算),通过标志位CF、ZF、OF、SF等标志位判断

461843be74314a45a93bf1af5fba6abf.png

4.5. 循环语句的机器级表示

1.通过条件转移指令(标号)实现循环

②循环开始前判断是否能跳过循环

③每轮循环结束判断是否需要继续循环image.png

2.通过loop指令实现循环

①选定一个寄存器为循环计数器

②每轮循环自动进行自减操作

b5075332f0694b439ea655308bc23d58.png







相关文章
|
存储 编译器 C语言
【深入理解函数栈帧:探索函数调用的内部机制】
【深入理解函数栈帧:探索函数调用的内部机制】
418 0
|
存储 缓存 算法
409操作系统学习笔记——内存管理(二)
409操作系统学习笔记——内存管理
2887 1
409操作系统学习笔记——内存管理(二)
408王道计算机组成原理强化——输入输出系统大题(I/O)
408王道计算机组成原理强化——输入输出系统大题(I/O)
713 1
408王道计算机组成原理强化——输入输出系统大题(I/O)
|
算法 搜索推荐 C++
【C++STL基础入门】vector运算和遍历、排序、乱序算法
【C++STL基础入门】vector运算和遍历、排序、乱序算法
989 0
|
存储 资源调度 分布式计算
LC3|视角 开源大数据生态下的高性能分布式文件系统
## 背景介绍 盘古是阿里云自主研发的高可靠、高可用、高性能分布式文件系统,距今已经有将近10年的历史。盘古1.0作为阿里云的统一存储核心,稳定高效的支撑着阿里云ECS、NAS、OSS、OTS、ODPS、ADS等多条业务线的迅猛发展。但最近几年,基于如下两方面的原因,盘古还是重新设计实现了第二代存储引擎盘古2.0,其不只为阿里云,也为集团、蚂蚁金服的多种业务提供了更佳优异的存储服务 #
3578 0
|
存储 JSON SpringCloudAlibaba
Sentinel使用及规则配置
Sentinel使用及规则配置
2557 0
Sentinel使用及规则配置
|
SQL 存储 关系型数据库
什么是MySQL Workbench
【10月更文挑战第17天】什么是MySQL Workbench
1536 0
2022年超详细如何使用Xftp连接CentOS 7来进行文件的传输【详细过程、图解】
这篇文章提供了使用Xftp工具连接到CentOS 7虚拟机进行文件传输的详细步骤和图解。步骤包括打开Xftp软件、创建新连接、查看并填写虚拟机的IP地址、输入虚拟机的连接账号密码,以及连接成功后进行文件传输。文章最后以"现场手撸、学无止境"作为结束语,鼓励读者不断学习和实践。
|
机器学习/深度学习 存储 并行计算
量子计算与材料科学:新材料的发现
量子计算利用量子比特的叠加态和纠缠态,能高效模拟材料的电子结构和性能,加速新材料的发现与优化。从超导材料到磁性材料,再到太阳能电池,量子计算正推动材料科学的革命性进展。未来,量子计算与机器学习的结合将进一步拓展其应用范围,促进材料科学的产业化发展。
|
编译器
408王道计算机组成原理强化——指令系统及大题解构(上)
408王道计算机组成原理强化——指令系统及大题解构
650 1
408王道计算机组成原理强化——指令系统及大题解构(上)

热门文章

最新文章