第3章8086寻址方式和指令系统.ppt

  1. 1、本文档共185页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章8086寻址方式和指令系统

第3章 8086寻址方式和指;主要内容:指令系统的一般概念对;3.1 概念指令——控制计算机;指令的基本构成说明要执行的是什;指令举例:ADD AX,;部分8088/8086常用指令;8088/8086的操作数分为;1 、立即数(常数)1、立即数;2、寄存器操作数放在8个通用寄;可作为源或目的操作数(但CS不;Flags 标志寄存器: 仅有;3、存储器操作数存储器操作数字;存储单元的物理地址 = 段基地;8086规定了访问存储器段的规;若(BX)=2000H, (S;4、I/O接口操作数一般不允许;IN AL,[DX]; ;一条指令的执行时间=∑3.1.;1)尽量使用寄存器作为操作数 ;寻址方式——寻找操作数的方法 ;操作数(为一常数)直接由指令给;立即数操作码低8位高8位存储器;3.2.3 寄存器寻址操作;AXSI2233H2233H ;3.2.2 直接寻址 指令;指令功能:(AL) ;3.2.4 寄存器间接寻址;指令操作例:MOV AX,[;3.2.5 寄存器相对寻址 ;操作码00 偏移量低2A 偏移;3.2.6 基址-变址寻址 ;例: MOV ;83000操作码DS 80;3.2.7 相对的基址-变址寻;若(DS)=8000H (;访问二维数组基址寄存器数组首地;3.2.8 隐含寻址 例:;如何寻找指令的地址呢?(1)程;小结指令由( ;寻址方式可分8种立即寻址直接寻;4种寻址方式的比较 ;3.3 8086/8088指;3.3.1 数据传送指令 可实;1.通用传送指令(1) MOV;② MOV reg,data;MOV指令使用规则:1) IP;几个不能传送的解决办法:用AX;应用举例:将1000H开始的1;上程序段存放在代码段中,設(C;写入2AH(*)后,数据段中相;什么是堆栈? 按“先进后出(;主程序IP继续执行主程序执行子;规定由SS指示堆栈段的段基址,;例:(1)若已知(SS)=10;堆栈操作示例SPSSSS压栈前;① 压栈指令 PU;例: PUSH AX设(AX;压栈指令的格式为: PU;② 弹出指令 POP de;例: POP BX 低地址存储;堆栈指令使用时应注意几点:①堆;试比较:程序1PUSH AX;格式:XCHG reg,me;1.用XCHG指令例: XC;(4)查表指令XLAT ;1008590...95878;则可用如下几条指令实现:MOV;(5)字节-字转换指令格式:C;2. 输入输出(I/O)指令 ;例:OUT 68H,AX ;;3. 地址传送指令共有三条:格;设:(SI)=1000H则执行;下面两条指令等效: LEA ;4.标志传送指令共有四条:(1;(2)设置标志指令SAHF ;执行的操作:(SP)-1←标志;例如: PUSH AX ;3.3.2 算术运算指令 ;两个8位数相加时有4种情况①无;② 无符号数溢出 0000 1;④ 无符号数和有符号数均溢出 ;共有5条:(1) 不带进位的加;(2) 带进位位的加法指令AD;例:有两个4字节的无符号数相加;56H2CHBEH47HBUF;程序段如下: MOV ;格式:INC reg/mem;(1) 不考虑借位的减法指令S;SBB指令主要用于多字节的减法;作用类似于C语言中的”--”操;格式: NEG opr操作:;格式: CMP dest, ;进行乘法时:8位*8位→16位;格式与MUL指令类似,只是要求;4. 除法指令进行除法时:16;格式: DIV src操作;(2) 有符号数除法指令IDI;除法运算要求被除数字长是除数字;例: 写出34H÷25H的程序;*5.BCD码运算的十进制调整;1)加法的十进制调整指令(1);如果AL的低4位>9∨AF=1;调整原理:先看一个例子 计算;实际上当低4位的结果>9(即A;(2)压缩BCD码加法调整DA;例: ;(1)非压缩BCD码减法的十进;举例:16-8=? MOV;(2)压缩BCD码减法的十进制;3) 乘法的十进制调正指令AA;例1:按十进制乘法计算7×8=;4) 除法的十进制调正指令AA;例1:按十进制除法计算55÷7;3.3.3 逻辑运算和移位指令;(1) 逻辑”与” AND对两;例3:测试AL的bit7,bi;对两个操作数进行按位逻辑”或”;例2:把AH和AL中的非压缩B;对操作数进行按位逻辑”非”操作;对两个操作数按位进行”异或”操;操作与AND指令类似,但不将”;2.移位指令(1)非循环移位指;移位指令执行的操作如下图所示:;算术移位——把操作数看做有符号;例:把AL中的数x乘10因为1;

文档评论(0)

9885fp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档