版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章第三章 80868086的寻址方式的寻址方式和指令系统(和指令系统(2 2)80868086的指令系统按功能,可分成以下的指令系统按功能,可分成以下7 7类:类:1数据传送指令(Data transfer)2算术运算指令(Arithmetic)3逻辑运算和移位指令(Logic& Shift)4串操作指令(String manipulation)5控制转移指令(Control Transfer)6. 标志位操作指令3.3 8086CPU的指令系统的指令系统学习指令的注意事项:学习指令的注意事项:u指令的功能指令的功能该指令能够实现何种操作。通常指令助记符就是指令功能的英文单词或其缩
2、写形式u指令支持的寻址方式指令支持的寻址方式该指令中的操作数可以采用何种寻址方式u指令对标志位的影响指令对标志位的影响该指令执行后是否对各个标志位有影响,以及如何影响u其他方面其他方面该指令其它需要特别注意的地方,如指令执行时的约定设置、必须预置的参数、隐含使用的寄存器等3.4.1 数据传送指令数据传送指令( (Data Transfer) )1、通用数据传送指令:MOV2、交换类指令:XCHG,XLAT3、堆栈操作指令:PUSH,POP4、地址传送指令:LEA, LDS, LES5、标志传送指令:6、输入输出指令:IN,OUT功能:负责把数据、地址或立即数传送到寄存器或存储单元或I/O端口。
3、特点:它是计算机最基本、最重要的一种操作,使用频率最高。种类(分6种): 指令格式指令格式:MOV dst, src ; (dst) (src) 一、一、 通用数据传送指令通用数据传送指令MOV指令功能指令功能:把一个字节或一个字从源操作数src送至目的操作数dst,源操作数不改变。说明说明:源、目的操作数长度必须一致,即同时为字节或同时为字;目的操作数不能为CS、IP和立即数;存储器之间,立即数与段寄存器,段寄存器之间不能用一条指令完成数据传送。通用寄存器AX、BX、CX、DXBP、SP、SI、DI段寄存器CS、 DS、ES、SS存储器立即数CS不能做目的操作数段寄存器CS、 DS、ES、S
4、S立即数存储器通用寄存器AX、BX、CX、DXBP、SP、SI、DIMOV指令数据传送方向示意图例:例: MOV DL,CH ;8位寄存器 8位寄存器 MOV AX,DX ;16位寄存器 16位寄存器 MOV SI, BP ;通用寄存器通用寄存器 MOV DS,BX ;通用寄存器 段寄存器 MOV AX, CS ;段寄存器 通用寄存器 MOV CL,04H ;立即数8位寄存器 MOV AX,03FFH ;立即数16位寄存器 MOV MEM , AX ;累加器存储器 j MOV MEM2 , MEM1 错,两两 MOV AX , MEM1 MOV MEM2 , AX 对。 MOV DS,2000
5、H 错,MOV AX, 2000H MOV DS , AX 对。 例:判断正误:例:判断正误:l MOV ES , DS 错,MOV AX , DSMOV ES , AX 对 mMOV CS,AX 错, MOV AX,CS 对 MOV IP, AX 错, 二、交换传送指令二、交换传送指令 XCHG、XLAT1、XCHG指令格式指令格式:XCHG dst,src指令功能指令功能:操作数dst的内容与操作数src的内容交换,可以实现寄存器之间、寄存器和存储器之间信息的交换。注意:两个操作数长度必须一致;源、目的操作数的寻址方式不允许是立即寻址方式,即操作数中不允许有立即数; 两存储器之间不能交换,
6、即两个操作数中必须有一个在寄存器中; 段寄存器及IP寄存器不能作为一个操作数;应用举例:XCHG BL,DLXCHG AX,SIXCHG COUNTDI, AXXCHG BX,DI(错)XCHG DS, AX (错)2、XLAT指令格式指令格式:XLAT指令功能指令功能:完成一个字节的查表转换。 隐含规定表格首地址存放于BX中,需要转换的代码相对首地址的偏移地址存入AL;执行XLAT指令后,(BX+AL)存放于AL中。执行后AL=30HMOV BX,2000HMOV AL,03HXLAT40H79H24H30H19H12H02H78H00H10H2009H2000H0123456789BX+0
7、BX+1BX+AL换码指令的功能AL例例:假设七段码存放在2000H开始的内存中,取出3所对应的七段码。堆栈复习:堆栈是在内存中开辟的一个暂存单元区。CPU可向其中存入或取出信息。遵循先进后出或后进先出原则。堆栈段的段基址存放在SS堆栈寄存器中,偏移地址存放在SP中。堆栈指针SP始终指向栈顶。三、堆栈操作指令三、堆栈操作指令 PUSH、POP例:例:设:(SS)=9000H , 堆栈段为64KB MOV SP,0E200H ;(SP)=0E200H则: 整个堆栈段的物理地址范围为: .偏移地址偏移地址物理地址物理地址00000H(低地址)00000H(低地址)90000H90000H9E200
8、H9E200H9FFFFH9FFFFHFFFFHFFFFH(SP)=E200H(SP)=E200H0000H0000H堆堆栈栈段段堆栈在内存中的情况堆栈在内存中的情况q 1 1、入栈指令入栈指令PUSH 指令格式指令格式: PUSH OP指令功能指令功能:SP-2,把源操作数OP的16位数据压入堆栈。可以是通用寄存器、段寄存器和字存储单元例:SS=5000H,SP=2000H,执行PUSH AX SP自动减2 将AX的内容传送到SP指向的单元00000H52000HFFFFFH一段RAM区域堆栈段50000H段开始地址SP栈顶SP00000H52000HFFFFFH51FFEH51FFFH50
9、0000H执行PUSH AX后9B8AAX=8A9BH指令格式指令格式:POP OP指令功能指令功能:从堆栈中弹出16位数据到目的操作数OP,SP自动加22 2、出栈指令出栈指令POP可以是通用寄存器、段寄存器(CS除外)和字存储单元SP00000H52000HFFFFFH51FFEH51FFFH500000H执行POP BX前9B8A接上例,执行指令POP BXSP00000H52000HFFFFFH51FFEH51FFFH500000H执行POP BX后执行后BX=8A9BHSP自动加2,指向新的栈顶BX 堆栈操作都按字操作。低字节放在低地址,高字节放在高地址。 PUSH , POP 指令
10、的操作数可能有三种: 寄存器(通用寄存器,地址指针,变址寄存器), 段寄存器(CS除外,PUSH CS 合法,POP CS 非法), 存储器。 堆栈工作原则后进先出,且 SP总是指向栈顶。 堆栈最大容量为64KB。PUSH AXPUSH BXPUSH CXPOP CXPOP BX POP AX例:例:压入堆栈的内容与弹出内容顺序相反8086 提供四条条地址传送指令:1、LEA(Load Effective Address):有效地址传送指令2、LDS (Load pointer using DS)3、LES (Load pointer using ES)4、LSS (Load pointer
11、using SS)四、地址传送指令四、地址传送指令(Address-object Transfer)指针传送指令指令格式指令格式:LEA reg16 , mem ; 源操作数为存储器寻址方式 指令功能指令功能:加载有效地址, 。1、LEA(Load Effective Address)例:设(BX)=0400H,(SI)=003CHLEA BX,BX+SI+0F62H执行指令后: EA=(BX)+(SI)0F62H+=0400H+003CH+0F62H=139EH(BX)=139EH注意:注意: (1) LEA 与与MOV指令的区别指令的区别设(DS)=3000HBUFFER=1000H(31
12、000H)=0040HLEA BX , BUFFER ;(BX)=1000HMOV BX , BUFFER ; (BX)=0040H40H40H00H00H.3000H:1000H3000H:1000H(DS)(DS) BUFFERBUFFER31001H31001H.存储器存储器(2), 。 错误指令: LEA DX , AX ;指令格式指令格式:LDS reg16,mem32 LDS reg16,mem32 ;(reg16)(EA) (DS)(EA)+2)指令功能指令功能:。将指令指定mem32单元的前两个单元内容内容(16位偏移量)装入指定通用寄存器,把后两个单元内容内容(段地址)装入到
13、DS段寄存器。2、LDS (Load pointer using DS)例例: 假设: (DS)=C000H指令: LDS SI,0010H执行指令后: (SI)=0180H (DS)=2000H 80H80H01H01H00H00H20H20HC000H:0010HC000H:0010H(DS)(DS)C0011HC0011HC0012HC0012HC0013HC0013H.存储器存储器指令格式指令格式:LES reg16, mem32 ;(reg16)(EA) (ES)(EA)+2)指令功能指令功能:*此指令常常指定DI寄存器将指令指定mem32单元的前两个单元内容(16位偏移量)装入指定
14、通用寄存器,把后两个单元内容(段地址) 装入到ES段寄存器。3、LES (Load pointer using ES)例例: 假设: (DS)=B 000H (BX)=080AH指令: LES DI, BX执行指令后: (DI)=05A2H (ES)=4000HA2HA2H05H05H00H00H40H40HB000H:080AHB000H:080AH(DS)(DS)B080BHB080BHB080CHB080CHB080DHB080DH.存储器存储器(BX)(BX)指令格式指令格式:LSS reg16, mem32 ;(reg16)(EA) (SS)(EA)+2)指令功能指令功能:将指令指定
15、mem32单元的前两个单元内容(16位偏移量)装入指定通用寄存器,把后两个单元内容(段地址) 装入到SS段寄存器。4、LSS (Load pointer using SS)例:例:设: (DS)=5000H,TABLE=1000H分析下列指令执行结果: MOV BX,TABLE ;(BX)=0040H LEA BX,TABLE ;(BX)=1000H LES BX,TABLE ;(BX)=0040H,(ES)=3000H LDS BX,TABLE ;(BX)=0040H,(DS)=3000H LSS BX,TABLE ;(BX)=0040H,(SS)=3000H40H40H00H00H00H0
16、0H5000H:1000H5000H:1000H(DS)(DS) TABLETABLE51001H51001H.存储器存储器30H30H.51002H51002H51003H51003H8086中的标志寄存器,其中每一位均标志了CPU运行的某种状态。8086有四条标志传送操作指令:1LAHF(Load AH into flags)2SAHF(Store AH into flags) 3PUSHF(Push flags onto stack)4POPF(Pop flags off stack) 五、标志传送指令五、标志传送指令(Flag Register Transfer)LAHF指令格式指令格
17、式:LAHF ;(AH)(FR的低字节)指令功能指令功能:。SFSFZFZFAFAFPFPFCFCF0 01 12 23 34 45 56 67 7TFTFIFIFDFDFOFOF8 89 91010111112121313141415150 01 12 23 34 45 56 67 7FLAGSFLAGSAHAHLAHFLAHF指令操作图示意指令操作图示意2、SAHF(Store AH into flags)指令格式指令格式:SAHF ;(FR的低字节)(AH)指令功能指令功能:(AH)送标志寄存器低八位。3、PUSHF(Push flags onto stack)指令格式指令格式:PUSH
18、F;(SP)(SP)-2 (SP)+1,(SP)(FR)指令功能指令功能 :栈顶指针SP减2,同时将标志寄存器的内容压入堆栈。4、POPF(Pop flags off stack)指令格式指令格式:POPF;(FR)(SP)+1,(SP) (SP)(SP)+2 指令功能指令功能 :将栈顶字单元内容送入标志寄存器,同时栈顶指针SP加2。8086共有两条输入输出指令: (Input byte or word) (Output byte or word)指令功能指令功能:用于在I/O端口和累加器AX、AL之间传送数据。无论接受还是发送数据,必须通过累加器AX(字)或AL(字节),又称累加器专用传送指
19、令 。 六、输入输出指令六、输入输出指令(Input and Output)u8086有16根地址线可用于对I/O端口寻址,故其寻址范围是64K,地址范围课表示为:0000HFFFFH。最多有65536个I/O端口。u8086的端口有64K个,无需分段,设计有两种两种寻址方式:v直接寻址直接寻址:只用于寻址:只用于寻址00H00HFFHFFH前前256256个端口,即端口个端口,即端口地址用地址用8 8位立即数表示;位立即数表示;vDXDX寄存器间接寻址寄存器间接寻址:可用于寻址全部:可用于寻址全部64K64K个端口,端口个端口,端口地址存放于地址存放于DXDX寄存器中。当端口地址超过寄存器中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《GBT 30269.801-2017信息技术 传感器网络 第801部分:测试:通 用要求》
- 深度解析(2026)《GBT 30071-2013细颗粒高密度特种石墨产品》
- 深度解析(2026)《GBT 29999-2013 铜矿山酸性废水综合处理规范》
- 深度解析(2026)《GBT 29876-2013非发酵豆制品生产管理规范》:构建从原料到成品的全链条品质与安全管控体系专家视角解读
- 深度解析(2026)《GBT 29771.1-2013工业机械数字控制器 第1部分:通 用技术条件》
- 深度解析(2026)《GBT 29839-2013额定电压1kV(Um=1.2kV)及以下光纤复合低压电缆》
- 深度解析(2026)《GBT 29677-2013化妆品中硝甲烷的测定 气相色谱-质谱法》
- 《GBT 731-2008黄麻布和麻袋》(2026年)合规红线与避坑实操手册
- 《DLT 615-2013高压交流断路器参数选用导则》(2026年)合规红线与避坑实操手册
- 2026年生物传感器开发合同
- 销售家访技巧培训
- 2024北京西城区初一(下)期末数学试题和答案
- 高等职业学校办学条件重点监测指标
- 生活垃圾填埋场渗滤液处理工程施工组织设计
- 《水利水电工程隧洞超前地质预报规程》
- 兄弟房产分割协议书
- 医用导管固定装置注册审查指导原则
- 《计算机网络设备安装与调试》复习考试题库(带答案)
- 危险化学品-危险化学品的贮存安全
- 计算材料-第一性原理课件
- 帽子发展史课件
评论
0/150
提交评论