指令系统(课堂PPT)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
为了便于书写和阅读程序,每条指令通常用3 个或4个英文缩写字母来表示。这种缩写码 叫做指令助记符
比如MOV 或者ADD等
13
二、地址码
根据一条指令中有几个操作数地址,可 将该指令称为几操作数指令或几地址指令。
一般的操作数有被操作数、操作数及操 作结果这三种数,因而就形成了三地址指 令格式。在此基础上,后来又发展成二地 址格式、一地址格式和零地址格式
17
顺序寻址方式
18
跳跃寻址方式
19
一些常见的指令
20
指令的功能
• 传送指令 • 运算指令 • 程序控制指令
21
• if (x > 0) y = 0; else y = 1;
• 对应的汇编是:cmp dword ptr [x],0
•
ja do1
•
mov dword ptr [y],1
•
d01:
操作码字段 操作码字段
操作数字段
由操作码字段(OP)和操作数字段组成。 操作码字段表征指令的操作特性与功能;
操作数字段通常指定参与本指令运算的地址。
10
一、操作码
指令系统的每一条指令都有一个操作码, 它表示该指令应进行什么性质的操作。
不同的指令用操作码字段的不同编码来表 示,每一种编码代表一种指令。
指令系统
1
当用计算机解决某个问题时,我们首先 必须为它编写程序。
程序是一个指令序列,这个序列明确告 诉计算机应该执行什么操作,在什么地方 找到用来操作的数据。一旦把程序装入内 存储器,就可以由计算机来自动完成取出 指令和执行指令的任务。
2
专门用来完成此项工作的计算机部件称为中 央处理器,通常简称CPU。
27
直接寻址 在指令格式的地址字段中直接指出操作
数在内存的地址D。 MOV A,5678H
28
4. 间接寻址 间接寻址的情况下,指令地址字段中的
形式地址A不是操作数的真正地址,而是操 作数地址的指示器,D单元的内容才是操作 数的有效地址。
间接寻址分为寄存器间接寻址和存储器 间接寻址。
MOV P1,@A
组成操作码字段的位数一般取决于计算机指令系 统的规模。指令系统包含的指令越多,其操作 码的位数越多。
11
• 定长指令:指令系统的所有指令的操作码 和地址码的长度固定不变。
• 变长指令:指令系统中不同指令可以有不 同的长度,称为变长指令系统。
12
指令助记符
由于硬件只能识别1和0,所以采用二进制操 作码是必要的,但是我们用二进制来书写 程序却非常麻烦。
• 堆栈 • 存放货物的垃圾筒 • 后进先出的特点
24
操作数寻址方式
形成操作数的有效地址的方法,称为操 作数的寻址方式。
25
1. 隐含寻址 在指令中不明显的给出而是隐含着操作
数的地址。 如单地址的令的地址字段指出的不是操作数的地
址,而是操作数本身。 MOV A, #5678H
14
• 假设指令字长为16位,操作数地址码为6位, 指令有零地址、一地址、二地址三种格式。
• 设操作码固定,若零地址指令有M种,一地 址指令有N种,二地址指令最多有几种?
15
16
指令的寻址方式
计算机中程序是由指令序列构成的,大多数 指令是顺序存放在存储器中的。当执行一 段程序时,通常是一条指令接一条指令的 顺序执行。这种程序顺序执行的过程,我 们称为指令的顺序寻址方式。 为实现指令的顺序寻址,计算机中使用 程序计数器(又称指令指针寄存器)PC来 计数指令的顺序号,并通过自动增量方式 实现顺序寻址。
29
5、寄存器寻址方式 当操作数不放在内存中,而是放在CPU
的通用寄存器中时,可采用寄存器寻址方 式。此时指令中给出的操作数地址不是内 存的地址单元号,而是通用寄存器的编号。
MOV DS,AX
30
• 变址寻址 目标操作数地址由两部分组成:基本地址+偏
移量(变址) • 见书本
31
5
面向对象的编程方式
6
A=A+B+C
• 高级语言(C) • A=A+B+C • 低级语言(汇编)
7
• 完成一个 • y=a+b-c • P6页,翻译的机器指令要7句
8
9
指令格式
机器指令是用机器字表示的。 指令字(简称指令):表示一条指令的机器字。
指令格式则是指令字用二进制代码表示的结构形 式指令字的格式如下:
•
mov dword ptr [y],0
22
• 运算指令
• X=A+B • A放在哪里(假设1000H里) • mov AX ,1000H • B放在哪里(假设6789H里) • mov BX,6789H • ADD AX, BX • X是哪个地址(假设2000H) • mov 2000H,AX
23
3
4
计算机语言具有高级语言和低级语言之分。 高级语言如C,FORTRAN等,其语句和用 法与具体机器的指令系统无关。
低级语言分机器语言(二进制语言)和汇 编语言(符号语言),这两种语言都是面向机 器的语言,和具体机器的指令系统密切相关。 机器语言用指令代码编写程序,而符号语言用 指令助记符来编写程序。
比如MOV 或者ADD等
13
二、地址码
根据一条指令中有几个操作数地址,可 将该指令称为几操作数指令或几地址指令。
一般的操作数有被操作数、操作数及操 作结果这三种数,因而就形成了三地址指 令格式。在此基础上,后来又发展成二地 址格式、一地址格式和零地址格式
17
顺序寻址方式
18
跳跃寻址方式
19
一些常见的指令
20
指令的功能
• 传送指令 • 运算指令 • 程序控制指令
21
• if (x > 0) y = 0; else y = 1;
• 对应的汇编是:cmp dword ptr [x],0
•
ja do1
•
mov dword ptr [y],1
•
d01:
操作码字段 操作码字段
操作数字段
由操作码字段(OP)和操作数字段组成。 操作码字段表征指令的操作特性与功能;
操作数字段通常指定参与本指令运算的地址。
10
一、操作码
指令系统的每一条指令都有一个操作码, 它表示该指令应进行什么性质的操作。
不同的指令用操作码字段的不同编码来表 示,每一种编码代表一种指令。
指令系统
1
当用计算机解决某个问题时,我们首先 必须为它编写程序。
程序是一个指令序列,这个序列明确告 诉计算机应该执行什么操作,在什么地方 找到用来操作的数据。一旦把程序装入内 存储器,就可以由计算机来自动完成取出 指令和执行指令的任务。
2
专门用来完成此项工作的计算机部件称为中 央处理器,通常简称CPU。
27
直接寻址 在指令格式的地址字段中直接指出操作
数在内存的地址D。 MOV A,5678H
28
4. 间接寻址 间接寻址的情况下,指令地址字段中的
形式地址A不是操作数的真正地址,而是操 作数地址的指示器,D单元的内容才是操作 数的有效地址。
间接寻址分为寄存器间接寻址和存储器 间接寻址。
MOV P1,@A
组成操作码字段的位数一般取决于计算机指令系 统的规模。指令系统包含的指令越多,其操作 码的位数越多。
11
• 定长指令:指令系统的所有指令的操作码 和地址码的长度固定不变。
• 变长指令:指令系统中不同指令可以有不 同的长度,称为变长指令系统。
12
指令助记符
由于硬件只能识别1和0,所以采用二进制操 作码是必要的,但是我们用二进制来书写 程序却非常麻烦。
• 堆栈 • 存放货物的垃圾筒 • 后进先出的特点
24
操作数寻址方式
形成操作数的有效地址的方法,称为操 作数的寻址方式。
25
1. 隐含寻址 在指令中不明显的给出而是隐含着操作
数的地址。 如单地址的令的地址字段指出的不是操作数的地
址,而是操作数本身。 MOV A, #5678H
14
• 假设指令字长为16位,操作数地址码为6位, 指令有零地址、一地址、二地址三种格式。
• 设操作码固定,若零地址指令有M种,一地 址指令有N种,二地址指令最多有几种?
15
16
指令的寻址方式
计算机中程序是由指令序列构成的,大多数 指令是顺序存放在存储器中的。当执行一 段程序时,通常是一条指令接一条指令的 顺序执行。这种程序顺序执行的过程,我 们称为指令的顺序寻址方式。 为实现指令的顺序寻址,计算机中使用 程序计数器(又称指令指针寄存器)PC来 计数指令的顺序号,并通过自动增量方式 实现顺序寻址。
29
5、寄存器寻址方式 当操作数不放在内存中,而是放在CPU
的通用寄存器中时,可采用寄存器寻址方 式。此时指令中给出的操作数地址不是内 存的地址单元号,而是通用寄存器的编号。
MOV DS,AX
30
• 变址寻址 目标操作数地址由两部分组成:基本地址+偏
移量(变址) • 见书本
31
5
面向对象的编程方式
6
A=A+B+C
• 高级语言(C) • A=A+B+C • 低级语言(汇编)
7
• 完成一个 • y=a+b-c • P6页,翻译的机器指令要7句
8
9
指令格式
机器指令是用机器字表示的。 指令字(简称指令):表示一条指令的机器字。
指令格式则是指令字用二进制代码表示的结构形 式指令字的格式如下:
•
mov dword ptr [y],0
22
• 运算指令
• X=A+B • A放在哪里(假设1000H里) • mov AX ,1000H • B放在哪里(假设6789H里) • mov BX,6789H • ADD AX, BX • X是哪个地址(假设2000H) • mov 2000H,AX
23
3
4
计算机语言具有高级语言和低级语言之分。 高级语言如C,FORTRAN等,其语句和用 法与具体机器的指令系统无关。
低级语言分机器语言(二进制语言)和汇 编语言(符号语言),这两种语言都是面向机 器的语言,和具体机器的指令系统密切相关。 机器语言用指令代码编写程序,而符号语言用 指令助记符来编写程序。