版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章:8086/8088CPU指令系统,指 令 系 统,概述,指令码格式,具体指令,寻址方式,数据传送指令,算术运算指令,串操作指令,控制转移指令,处理器控制指令,逻辑运算和移位指令,1.掌握指令及指令系统的基本概念。,2. 掌握8086各种寻址方式所执行的数据寻址过程。,3.牢固地掌握存储器(段地址:偏移地址)的组织 结构和段约定的基本概念。,第四章:8086/8088CPU指令系统,4. 掌握每条8086指令的格式、功能及用法。,5. 学会正确选用指令完成简单的任务。,4.1 概 述,一、指令 (Instruction):,指令通常以二进制代码的形式提供给计算机,这种指令称为机器指令。,
2、指示计算机执行什么操作的命令。,二、指令系统 (Instruction System):,三、程序 (Program):,完成某个特定任务而编制的一系列指令的有序集合。,程序的执行一般是按指令的先后次序一条一条执行,但遇到转移类指令时则可能改变指令的执行次序。,计算机所能执行的全部指令。,4.1 概 述,四、指令包含的基本内容,1. 做什么操作,由指令的操作码字段规定。,2. 操作数的来源,操作数来自于什么地方。由指令的操作数字段规定。,4.1 概 述,操作数的来源可以是:,4.1 概 述,3. 操作结果的去向,操作的结果将存放在何处。,4. 下一条指令的位置,指示下一条指令是顺序执行还是转移
3、执行。,4.1 概 述,五、指令的种类,4.1 概 述,六、指令的表示方法,1. 二进制代码表示机器语言指令,2. 助记符表示汇编语言指令,例:10001000 11011000,例:MOV BL,AL,MOV表示“传送”助记符,BL(寄存器)表示结果存放的位置,AL(寄存器)表示数据的来源。,4.1 概 述,助记符表示的指令便于书写、理解和记忆,但最终必须将助记符指令“翻译”成机器指令才能被识别和执行。这个过程叫“汇编”。,4.1 概 述,地址:数据和指令存放的位置。,数据存放的位置可以是寄存器、存储器或I/O端口,指令存放的位置只能是存储器中的代码段。,寻址方式:寻找指令地址和操作数地址的
4、方式。,寻址过程:形成指令地址和操作数地址的过程。,4.2 8086指令的格式及寻址,结果,2. 立即数寻址,操作数作为立即数就在指令中给出。,例:MOV AX,1234H,操作:把立即数1234H送寄存器AX中。,机器码:B8 34 12 (低字节在地址小的单元),AH,AL,AX,.,B8,34,12,.,代码段 (存储器中),操作码(B8),操作数(1234H)立即数,一条指令,指令执行后,AX=1234H (原有的内容被新的内容替换)。,MOV AX,1234H,3. 寄存器寻址,操作数在某个寄存器中。,例:INC BL,操作:使BL中内容加1后送回,若BL=00H,则执行后BL=01
5、H,BL=FFH,则执行后BL=00H (自动溢出),01,4. 存储器寻址,操作数在存储器中的一个或几个单元中。,在这种寻址方式下,要找到该操作数,关键是必须找到该操作数所在单元的地址。,由于8086采用存储器段组织结构,内存单元的地址由段起始地址 (基地址) 和该单元与段起始地址之间的距离 (以字节数计) 两部分共同决定。,段起始地址(基地址):某个段寄存器的内容(又称段基值)乘以16得到。,段内偏移量:该单元与段起始地址之间的距离(字节数) 。又称有效地址EA。,待寻址的内存单元,(CS, DS, ES, SS)16 段基地址,内存单元物理地址,8086规定,在执行某种操作时,采用的段寄
6、存器有一个预先的约定。故指令中一般只需给出有关EA的信息,则CPU将能够根据该次操作自动选用段寄存器,并与EA一起形成物理地址。 存储器寻址的实质就是如何形成有效地址EA。,(1) 直接寻址方式,指令中以偏移量方式直接给出操作数的有效地址。即,EA=指令中给出的偏移量,例:MOV AX,1234H,机器码:A1 34 12,操作:把偏移量1234H作为EA,在数据段中找到相应的字单元,再将字单元的内容送AX。,本例执行完后,AX=3050H,EA=1234H,设DS=3000H,DS16,=30000H,= 3000H16,MOV AX, 1234H,b. 段基址乘以16,相当于段基值(二进制
7、表示)左移4位,或段基值(十六进制表示)在末尾添一个0H。,注:,(2) 间接寻址方式,以间接的方式得到有效地址EA,有几个专用的寄存器可用于间接寻址:BX,BP,SI,DI。,a. 基址寻址方式,以BX作为基址寻址寄存器,操作数在数据段中。,以BP作为基址寻址寄存器,操作数在堆栈段中。,EA=BX或BP的内容+8位或16位位移量,例:MOV AX,BX,机器码:8B 04,操作:以BX的内容作为有效地址EA,在数据段中找到对应的字单元,再将该字单元的内容送AX中。,EA=BX (位移量为0),设DS=2000H,BX=1000H,本例执行后 AX=50A0H,DS=2000H,这种寻址方式的
8、优点就在于可以随时修改BX寄存器的内容,而指向不同的存储单元。故BX又称为基址指针寄存器。,例:MOV AL,DATABP,这里DATA是以符号表示的位移量。,EA=BP+位移量DATA,操作:以EA作为有效地址,在堆栈段中去 寻址字节单元,再将该字节单元内容送AL。,b. 变址寻址方式,以SI,DI寄存器作为间接寻址寄存器,操作数在数据段中。,EA=SI或DI内容+8位或16位位移量,例:ADD AX,SI,EA=SI,操作:以EA作为有效地址,在数据段中找到某个操作数,再将该操作数与AX的内容相加,结果存放在AX中。,c. 基址变址寻址方式,既有基址寄存器(BX或BP),又有变址寄存器参与
9、(SI或DI)寻址,操作数在基址寄存器所规定的段中。,EA=BX或BP+SI或DI+8位或16位位移量,例:MOV AX,0260H BX SI,EA=BX+SI+0260H,操作数在数据段中,MOV AX,INF BP+DI,EA=BP+DI+位移量INF,操作数在堆栈段中,* 以上两种基址+变址的格式都是合法的。,(3) 串操作指令寻址,这类指令规定:,源串操作数在数据段,且有效地址EA=SI,目的串操作数在附加段,且有效地址EA=DI,指令执行后,自动修改SI,DI的值,使之指向新的单元。,8086的段约定,8086在执行某种操作时,预先规定了采用的段寄存器和段,即有基本的段约定。如果要
10、改变默认的段约定,则需要在指令中明 确指出来。,8086/8088的段约定,5. I/O端口寻址方式,操作数在某个8位或16位端口中。,b. 端口输出,OUT port, AL,a. 端口输入,IN AL,port,port=端口地址 (8位,0255),例:IN AL,80H,操作:从端口地址为80H的端口输入一字节送AL。,(1) 直接端口寻址,(2) 间接端口寻址,可以把端口地址送入DX,然后进行端口寻址:,输入: IN AL,DX 输出: OUT DX,AL,注: 若用AX代替AL,则表示16位数据的端口。, 端口地址大于255时,必须将端口地址送入DX,即采用间接寻址端口方式。,6.
11、 转移类指令的寻址方式,前面所述的各种寻址方式实际上是数据寻址方式,关键是如何找到操作数。,转移类指令寻址方式属于程序存储器寻址,关键是要找到下一条待执行指令的地址。,(1) 转移范围,段内转移:转移范围在同一个段以内,段间转移:从一个代码段转移至另一个代码段,(2) 转移条件,无条件转移,有条件转移 (转移范围仅为128+127),(3) 转移方式,直接转移 (转移目标直接在指令中给出),间接转移 (转移目标预先放入某个寄存器或存储器中),寻址方式总结,固定寻址:操作数固定在某个寄存器中,寄存器寻址:操作数在某个寄存器中,立即数寻址:操作数就是操作码后跟的立即数,存储器寻址,直接寻址,间接寻
12、址,串操作寻址,基址寻址,变址寻址,基址+变址寻址,I/O端口寻址,直接端口寻址,间接端口寻址,转移类指令寻址,基址变址寻址,基址变址寻址(Based Index Addressing)中的操作数的有效地址是一个基址寄存器(如BX、BP)和一个变址寄存器(如SI、DI)的内容之和,两个寄存器均由指令指出。操作数的段地址分配和前面所述相同,即使用默认段基址或使用段超越前缀来指定段基址。,相对基址变址寻址,小结,除了立即寻址和寄存器寻址外,其它寻址方式的操作数都来自存储区。,只有BX、BP、SI、DI可以在方括号“ ”内出现。,BX和BP可以单独出现在“ ”内,也可以与SI,DI或常数一起出现在“
13、 ”内,不允许BX,BP同时出现在一个“ ”内。,SI或DI可以单独出现在“ ”内,也可以与BX,BP或常数一起出现在“ ”内,不允许SI,DI同时出现在一个“ ”内。,一个“ ”内包括多个内容时,它们只能相加。,若“ ”内包含BP,则隐含使用堆栈段寄存器SS。否则,均隐含使用数据段寄存器DS。,课堂练习与思考:,1.请指出下列每条指令源操作数的寻址方式。,(1) MOV AX, BX (2) MOV CH, 3AH (3) MOV BX, 2000H (4) MOV DX, BX (5) MOV CX, BP+2 (6) MOV AX, 3BX DI (7) MOV AL, ES:SI (8
14、) MOV BX, DS:BP,;寄存器寻址,操作数在BX中 ;立即数寻址,操作数为3AH ;直接寻址,EA=2000H,数在数据段 ;间接寻址,EA=BX,数在数据段 ;间接寻址,EA=BP+2,数在堆栈段 ;间接寻址,EA=BX+DI+3,数在数据段 ;间接寻址,EA=SI,数在附加段 ;间接寻址,EA=BP,数在数据段,课堂练习与思考:,2. MOV AX,BX+SI+0080H,即将BX与SI中的内容与0080H相加作有效地址。 3.设BX=0123H DI=1000H DS=3200H,默认DS作为操作数对应的段寄存器(假定没使用段前缀),试指出下列指令的寻址方式,并写出其操作数的有效地址和物理地址。 (1)MOV AX,1A38H (2)MOV AX,BX (3)MOV AX,BX+1A38H (4)MOV AX,BX+DI (5)MOV AX,BX+DI+1A38H,课堂练习与思考:,解: (1)直接寻址 有效地址=1A38H, 物理地址=32000H+1A38H=33A38H (2)寄存
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年辽宁交安考试题目及答案
- 2026年执业医师(地方病防治)试题及答案
- 2026年银行招聘考试官方指定标准试卷通关题库及答案
- 2026年天津市安全员B证考试题库及答案
- 2026年生殖医学临床试题及答案
- 2026年临沧地区临翔区林业系统人员招聘考试参考试题及答案解析
- 生物医药车间腐蚀性试剂泄漏洗消预案
- 2026年地方病防治技能竞赛(理论知识)综合能力测试题及答案
- 2026年安全工程师《金属冶炼安全》全真模拟一(附答案)
- 企业资金验收方案
- 2025-2026学年八年级语文下学期期末模拟卷及答案
- 湖南省永州市2025-2026学年高一下学期期末考试数学自编试卷(人教A版)(原卷版)
- 2026贵州毕节黔西市粮油购销有限公司面向社会公开招聘工作人员3人笔试备考试题及答案详解
- 端午节父亲节双节主题班会课件
- 2025-2026学年度江苏省无锡市七年级下学期期末测试模拟卷(含答案)
- 铁路专用线勘察测量方案
- 城市公交车辆日常安全例检项目及流程
- 2026上海农林职业技术学院公开招聘8名笔试参考试题及答案解析
- 2025年辽宁高中学业水平合格性考试化学试卷真题(含答案详解)
- 2026年麻风病防治知识竞赛复习押题宝典题库附答案详解(预热题)
- 2025年生殖医学(副高)高级职称考试题库及答案
评论
0/150
提交评论