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







相关文章
|
存储 JSON SpringCloudAlibaba
Sentinel使用及规则配置
Sentinel使用及规则配置
2827 0
Sentinel使用及规则配置
|
SQL Java 编译器
SQL 语言:嵌入式 SQL 和动态 SQL
SQL 语言:嵌入式 SQL 和动态 SQL
533 4
408王道计算机组成原理强化——输入输出系统大题(I/O)
408王道计算机组成原理强化——输入输出系统大题(I/O)
1085 1
408王道计算机组成原理强化——输入输出系统大题(I/O)
|
存储 缓存 安全
认识SMMU以及理理SMMU与TrustZone的联系?
认识SMMU以及理理SMMU与TrustZone的联系?
1481 0
|
存储 资源调度 分布式计算
LC3|视角 开源大数据生态下的高性能分布式文件系统
## 背景介绍 盘古是阿里云自主研发的高可靠、高可用、高性能分布式文件系统,距今已经有将近10年的历史。盘古1.0作为阿里云的统一存储核心,稳定高效的支撑着阿里云ECS、NAS、OSS、OTS、ODPS、ADS等多条业务线的迅猛发展。但最近几年,基于如下两方面的原因,盘古还是重新设计实现了第二代存储引擎盘古2.0,其不只为阿里云,也为集团、蚂蚁金服的多种业务提供了更佳优异的存储服务 #
4027 0
|
XML 安全 C++
3DM游戏运行库合集离线安装包下载,可以不联网解决报错,文件缺失"缺少 msvcr120.dll" "DirectX 组件缺失"等问题
3DM游戏运行库合集离线安装包,集成VC++、.NET、DirectX等近50款必备组件,一键修复“缺少dll”、启动报错等问题。支持Win7/10/11,无需联网,智能适配系统,适用于新装机、精简系统及古董游戏兼容,高效稳定,是游戏玩家必备的运行环境解决方案。
3717 2
|
数据采集 Python
Selenium爬取百度热搜榜单
Selenium爬取百度热搜榜单
526 1
Selenium爬取百度热搜榜单
|
人工智能 搜索推荐 算法
《AI赋能自由职业:开启竞争力提升新征程》
在数字化时代,AI为自由职业者带来巨大机遇。通过自动化任务处理、智能日程管理优化工作流程;借助AI工具提升写作、设计、翻译等专业技能和服务质量;利用数据分析和精准营销拓展业务与客户群体;并通过个性化学习路径和虚拟导师实现自我提升。积极拥抱AI,自由职业者能在竞争中脱颖而出,取得更大成功。
952 8
|
机器学习/深度学习 存储 并行计算
量子计算与材料科学:新材料的发现
量子计算利用量子比特的叠加态和纠缠态,能高效模拟材料的电子结构和性能,加速新材料的发现与优化。从超导材料到磁性材料,再到太阳能电池,量子计算正推动材料科学的革命性进展。未来,量子计算与机器学习的结合将进一步拓展其应用范围,促进材料科学的产业化发展。
1131 1
|
Linux 芯片 开发者
Linux 驱动开发基础知识——内核对设备树的处理与使用(十)
Linux 驱动开发基础知识——内核对设备树的处理与使用(十)
2259 0
Linux 驱动开发基础知识——内核对设备树的处理与使用(十)

热门文章

最新文章