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







相关文章
|
2天前
|
存储 Unix 程序员
计算机组成原理(5)----指令系统(2)
计算机组成原理(5)----指令系统
11 1
|
2天前
|
存储 人工智能 C语言
计算机组成原理(5)----指令系统(1)
计算机组成原理(5)----指令系统
13 1
|
4天前
|
存储
【计算机组成原理】指令系统
【计算机组成原理】指令系统
94 0
【计算机组成原理】指令系统
|
7月前
|
C语言
【计算机组成原理】综合测试
【计算机组成原理】综合测试
85 0
|
存储 开发框架 Unix
计算机组成原理(一)
计算机组成原理(一)
90 0
计算机组成原理(三)
计算机组成原理(三)
109 0
计算机组成原理<六>——指令系统(二)
计算机组成原理<六>——指令系统
计算机组成原理<六>——指令系统(二)
|
存储 C语言
计算机组成原理<六>——指令系统(一)
计算机组成原理<六>——指令系统
计算机组成原理<六>——指令系统(一)
计算机组成原理<六>——指令系统(思维导图)
计算机组成原理<六>——指令系统(思维导图)
计算机组成原理<六>——指令系统(思维导图)
|
存储
408计算机组成原理学习笔记——指令系统(上)
408计算机组成原理学习笔记——指令系统
301 1
408计算机组成原理学习笔记——指令系统(上)