




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第四章 8086/8088CPU指令系统,2,主要内容:,本章的重点是理解8086常用指令的功能 本章的难点是8086的各种寻址方式 同学们一定要采用调试程序DEBUG进行实践,3,调试程序DEBUG,DEBUG是常用的汇编语言调试工具,为汇编语言程序员提供了分析指令、跟踪程序的有效手段。 常用命令: A汇编 U反汇编 T单步执行 G断点执行 D数据显示 R寄存器,4,指令的基本构成,操作码,操作数,,操作数,说明要执行的是什么操作,操作对象,可以有0个、1个或2个,目的,源,5,指令举例:,ADD AX,SI+6,MOV AX , BX,操作码 操作数,INC BX,HLT,6,寻址方式,指令系统设计了多种操作数的来源, 寻找操作数的过程就是操作数的寻址方式。 操作数采取哪一种寻址方式,会影响机器运行的速度和效率。 如何寻址一个操作数对程序的设计来讲也很重要。 在8086指令系统中,操作数所在地址的寻址方式可分为4大类: 立即寻址 寄存器寻址 存储器寻址 I/O寻址,7,操作数(为一常数)直接由指令给出 (此操作数称为立即数) 立即寻址只能用于源操作数,常用来给寄存器或存储单元赋初值。 例: MOV AX, 1C8FH MOV BYTE PTR2A00H, 8FH 错误例: MOV 2A00H, AX ; 错误!,1. 立即寻址,8,立即数,操作码,低8位,高8位,存储器,MOV操作码,02H,31H,AH,AL,代码段,代码段,立即寻址指令在存储器中的存放形式,AX,指令操作例:MOV AX,3102H ; AX 3102H 执行后,(AH) = 31H,(AL) = 02H,用途:直接给出操作数据,立即数存放在内存的代码段中,9,2. 寄存器寻址,操作数放在某个寄存器中 源操作数与目的操作数字长要相同 寄存器寻址与段地址无关 例: MOV AX, BX MOV 3F00H, AX MOV CL, AL 错误例: MOV AX, BL ; 字长不同 MOV ES: AX, DX ; 寄存器与段无关,10,AX,SI,2233H,2233H,指令操作例:MOV SI,AX ; SI (AX) 指令执行前:(AX)=2233H 指令执行后:(AX)=2233H,(SI)=2233H,11,3. 存储器寻址 3.1直接寻址,指令中直接给出存储器操作数的16位偏移地址。 存储器偏移地址也称为有效地址(EA, Effective Address) 存储器默认的段寄存器为DS, 但也可以显式地指定其他段寄存器称为段超越前缀 存储器偏移地址也可用符号地址来表示,如ADDR、VAR 例: MOV AX , 2A00H; 段头隐含为DS MOV DX , ES: 2A00H;段超越 MOV SI , TABLE_PTR; 段头隐含为DS,12,例:MOV AX,3102H ;AL (3102H) , AH (3103H),如果(DS)=2000H, (23102H) = CDH, (23103H) = ABH 则操作数的物理地址为: 20000H+3102H = 23102H 指令执行后:(AX) = 0ABCDH,MOV操作码,02H,31H,AH,AL,23102H,CDH,ABH,存储器,代码段,数据段,. .,23103H,13,3.2 寄存器间接寻址,操作数的偏移地址(有效地址EA)放在寄存器中 只有SI、DI、BX和BP可作间址寄存器 例: MOV AX, BX MOV CL, CS:DI 错误例 : MOV AX, DX MOV CL, AX,EA =,(BX) (BP) (SI) (DI),14,指令操作例:MOV AX,SI 若 (DS)=6000H, (SI)=1200H, (61200H)=44H, (61201H)=33H 则指令执行后,(AX)=3344H。,15,3.3 寄存器相对寻址,EA=间址寄存器的内容 + 8/16位的位移量,EA =,(BX) (BP) (SI) (DI),+,8位 16位,位移量,16,例: MOV AX, BX+8 MOV CX, TABLESI MOV AX, BP+1000H ; 默认段寄存器为SS 指令操作例:MOV AX,DATABX 若(DS)=6000H, (BX)=1000H, DATA=2A00H, (63A00H)=66H, (63A01H)=55H 则物理地址 = 60000H + 1000H + 2A00H = 63A00H 指令执行后:(AX)=5566H (见下页图示),17,操作码,00 偏移量低,2A 偏移量高,DS 60000,BX 1000,+ DATA 2A00,63A00,63A00H,AH,AL,AX,代码段,数据段,. . .,. . .,. . .,66H,55H,MOV AX,DATABX,18,3.4 基址变址寻址,若操作数的偏移地址: 由基址寄存器(BX或BP)给出 基址寻址方式 由变址寄存器(SI或DI)给出 变址寻址方式,由一个基址寄存器的内容和一个变址寄存器的内容相加而形成操作数的偏移地址,称为基址变址寻址。,EA =,(BX) (BP),+,(SI) (DI),同一组内的寄存器不能同时出现。,基址寄存器,变址寄存器,19,例: MOV AX, BX SI MOV AX, BX+SI 同一寻址方式可以有不同的表示形式。 MOV AX, DS: BP DI 错误例: MOV AX, BX BP MOV AX, DI SI,20,83000,操作码,DS 80000,BX 2000,+ SI 1000,83000H,AH,AL,AX,代码段,数据段,. . .,. . .,. . .,YY,XX,指令操作例:MOV AX,BXSI 假定:(DS)=8000H, (BX)=2000H, (SI)=1000H 则物理地址 = 80000H + 2000H + 1000H = 83000H 指令执行后: (AL)=83000H (AH)=83001H,21,3.5相对基址变址寻址,在基址变址寻址的基础上再加上一个相对位移量 注意事项同基址变址寻址,EA =,(BX) (BP),+,(SI) (DI),+,8位 16位,位移量,例:,MOV AX,BASE SI BX MOV AX,BX+BASE SI MOV AX,BX+SI+BASE MOV AX,BX BASE SI MOV AX,BX+SI BASE,基址,变址,22,指令操作例:MOV AX,DATADIBX 若(DS)=8000H, (BX)=2000H, (DI)=1000H, DATA=200H 则指令执行后(AH)=83021H, (AL)=83020H,83200,83200H,AH,AL,AX,+ DATA 0200,操作码,代码段,数据段,. . .,. . .,. . .,YY,XX,DS 80000,BX 2000,DI 1000,23,4 . I/O寻址方式,直接给出端口的地址,但寻址范围为00H0FFH,端口地址存放在寄存器DX中,寻址范围:0000H0FFFFH,例:IN AL,78H OUT 56H,AL IN AX,23H OUT 67H,AX,例:IN AL,DX OUT DX,AL IN AX,DX OUT DX,AX,4 .1直接寻址方式:,4 .2寄存器间接寻址:,24,小结,指令由( )和( )构成,如何取得操作数称为( ),操作码,操作数,寻址方式,25,寻址方式可分8种,立即寻址,直接寻址 - 针对M、I/O,寄存器相对寻址 - 针对M,寄存器寻址 - 针对R,基址变址寻址 - 针对M,相对基址变址寻址 - 针对M,寄存器间接寻址 - 针对M、I/O,26,寻址方式小结: (1)除了立即寻址和寄存器寻址外,其它寻址方式的操作数都来自存储区(除代码段以外的存储区)或I/O端口。通过不同的方式寻找到操作数的地址。 (2)只有BX、BP、SI、DI可在方括号 内出现。 (3)BX或BP可单独出现在 内,也可以与SI或DI或常数一起出现在 内,不允许BX和BP同时出现在一个 内。 (4)SI或DI可单独出现在 内,也可以与BX或BP或常数一起出现在 内,不允许SI或DI同时出现在一个 内。 (5)一个 内包括多个内容时,它们只能作加法运算。 (6)若 内包含BP,则隐含使用堆栈段寄存器SS提供段基址,否则均隐含使用段寄存器DS提供段基址。,27,8086指令系统概述,Intel 8086指令系统共有117条基本指令, 可分成6个功能组: 数据传送类指令 算术运算类指令 逻辑运算和移位类指令 串操作类指令 控制转
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山西有关离婚协议书常用
- 业务渠道推广合作合同
- 跟岗协议书范本
- 欧美减产协议书
- 公司聘用会计劳动合同
- 避税车位买卖合同协议
- 海外承包协议书
- 生活用水供应合作合同协议
- 车位分期协议书范本
- 儿女赡养老人协议书
- 计算机毕设管理系统答辩
- 2025年湖北行测试题及答案
- 闽教版四年级英语下册全册单元知识点
- 2025视频号内容生态发展白皮书
- 新高考背景下2025年高考物理命题趋势分析与复习备考策略讲座
- 管道焊接施工方案
- 四省联考(陕晋青宁)2024-2025学年高三下学期2月天一大联考化学试卷(含答案)
- 2025年四川成都农业科技职业学院招聘工作人员16人高频重点模拟试卷提升(共500题附带答案详解)
- 2024年全国高考甲卷历史试题含答案解析
- 八年级数学下册 第4章 单元综合测试卷(北师版 2025年春)
- 酒店智能化系统工程的施工方法与流程
评论
0/150
提交评论