第二章指令系统1教学材料

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

操作码 操作数1,操作数2 ;注释
• 操作数2:常被称为源操作数src,它表示参与指令 操作的一个对象
• 操作数1:常被称为目的操作数dest,它不仅可以 作为指令操作的一个对象,还可以用来存放指令 操作的结果; dest OP src dest
• 分号后的内容是对指令的解释
汇编语句格式
• 有些指令中隐含了第一操作数,如:MUL CL
2020/9/21
5
三、指令的操作码和操作数
• 每种指令的操作码:
– 用一个助记符表示(指令功能的英文缩写) – 对应着机器指令的一个或多个二进制编码
• 指令中的操作数:
– 可以是一个具体的数值 – 可以是存放数据的寄存器 – 或指明数据在主存位置的存储器地址
2020/9/21
6
四、程序
程序是为解决某一问题而编写在一起的指令序列。
机器语言程序:由机器指令书写的程序
汇编语言程序:由符号指令书写的程序 高级语言程序:由高级语言书写的程序,高级语 言的基础是语句,而不是处理器的指令系统
汇编语言程序和高级语言程序必须先翻译成机 器语言程序才能执行。这一翻译过程对汇编语 言程序叫做汇编(assemble),对高级语言 程序叫做编译(compilation)或解释 (interpretation)
•指令有两种书写格式:机器指令和符号指令。
机器指令—指令的二进制数描述
硬件只能识别机器指令,用机器指令书写的程序可
直接运行
符号指令—用规定的助记符和规定的书写格式书
写的指令
与机器指令一一对应,需要翻译成机器指令才能运

10110000 00000001
2020/9/21
MOV AL, 1 3
二、指令的助记符格式
2020/9/21
9
1 立即数寻址方式
• 指令中的操作数直接存放在机器代码中,紧跟在 操作码之后(操作数作为指令的一部分存放在操 作码之后的主存单元中)
• 这种操作数被称为立即数imm
– 可以是8位数值i8(00H~FFH)
– 也可以是16位数值i16(0000H~FFFFH)
• 立即数寻址方式常用来给寄存器和存储单元赋值, 多以常量形式出现
• 汇编指令: MOV AX, [2000H]
南京理工大学动力学院
2009年
2020/9/21
1
第二章 8086/8088 指令系统
2.1 概述
2.2 寻址方式
2.3 数据传送指令
2.4 算术运算指令
2.5 逻辑运算指令
2.6 串操作指令
2.7 程序控制指令
2020/9/21
2
•指令是微处理器执行某种操作的命令。 •微处理器全部指令的集合称为指令系统(指令集)
2020/9/21
8
8086/8088CPU的寻址方式
(1) 操作数可以存放于操作码之后 MOV AL,3FH
—立即数寻址方式 (指令中直接给出)
(2) 操作数可以存放于CPU内部的寄存器中
—寄存器寻址方式 MOV AX,BX
(3) 操作数可以存放于存储器中
—存储器寻址方式 MOV AL,[1000H]
代码段
13
说明:
• 立即数寻址方式常用来给寄存器和存储单元赋初值。
• 在汇编语言中,立即数是以常量形式出现的。常量可以是:
(1)二进制数(后缀字母B或b)MOV BL,01000110B
(2)十进制数(不用后缀字母,或者用D或d)MOV AL,5
(3)16进制数(后缀字母H或h,以A-F开头则要加 个0) MOV AH,B8H 错 MOV AH,0B8H 正
– 段地址在默认的或用段超越前缀指定的段寄存器中 – 指令中只需给出操作数的偏移地址(有效地址EA)
8086设计了多种存储器寻址方式
1、直接寻址方式
2、寄存器间接寻址方式
3、基址寻址方式
4、变址寻址方式
5、基址变址寻址方式
2020/9/21
18
1)直接寻址方式
• 直接寻址方式的有效地址在指令中直接给出 • 默认的段地址在DS段寄存器,可使用段超越前
14
2 寄存器寻址方式
• 操作数存放在CPU的内部寄存器reg中:
– 8位寄存器r8: AH、AL、BH、BL、CH、CL、DH、DL – 16位寄存器r16: AX、BX、CX、DX、SI、DI、BP、SP – 4个段寄存器seg: CS、DS、SS、ES
• 寄存器名表示其内容(操作数)
MOV AX, BX; AX←BX
2020/9/21
7
2.2 操作数的寻址方式
• 指令系统设计了多种操作数的来源 • 寻找操作数的过程就是操作数的寻址 • 把寻找操作数的方式叫做(操作数)寻址方式 • 理解操作数的寻址方式是理解指令功能的前提 • 操作数采取哪一种寻址方式
–一方面,会影响处理器执行指令的速度和效率 –另一方面,对程序设计也很重要
缀改变 • 用中括号包含有效地址,表达存储单元的内容
例如:【2000H]=34H
MOV AX, [2Байду номын сангаас00H] ;AX←DS:[2000H]
MOV AX, ES: [2000H] ;AX←ES:[2000H]
2020/9/21
19
直接寻址方式
DS=1492H
2020/9/21
20
例:
• 将数据段中偏移地址2000H处的内存数据 送至AX寄存器
2020/9/21
15
寄存器寻址方式
2020/9/21
16
说明:
• 寄存器寻址方式的操作数存放于CPU的 某个内部寄存器中,不需要访问存储器, 因而执行速度较快,是经常使用的方法。 在双操作数的指令中,操作数之一必是 寄存器寻址得到的。
2020/9/21
17
3 存储器寻址方式
• 操作数在主存储器中,用主存地址表示 • 程序设计时,8088采用逻辑地址表示主存地址
MOV AX, 0102H
;AX←0102H
2020/9/21
10
立即数寻址方式
2020/9/21
11
例:
• 将立即数0102H送至AX寄存器
• 汇编指令: MOV AX,0102H ; • 指令功能: AX←0102H ; • 指令代码:B8 02 01
2020/9/21
12
2020/9/21
(4)字符串(确用单或双引号括起的字符,表示对应 的ASCII码值,例如:‘A’=41H)MOV AL, ’A’
(5)标识符表示的符号常量、数值表达式 MOV
AX, ’AB’
• (符号常量通过汇编伪指令定义) PI equ 314
注意十进制数和BCD数的区别
2020/9/21
MOV AX, PI+213
相关文档
最新文档