第四讲 8086CPU指令系统.ppt

  1. 1、本文档共78页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
指寻找指令操作数所在地址的方式,以确定数据的来源和去处。 立即数寻址 寄存器寻址 存储器寻址 I/O端口寻址 三.存储器寻址 操作数放在存储器中,指令中给出存储器的地址或产生地址的信息。 直接寻址 寄存器间接寻址 寄存器相对寻址 基址变址寻址 寄存器基址变址寻址 1.直接寻址 指令中直接给出操作数所在内存单元的有效地址(偏移地址)。 直接地址应加方括号。 PA=(DS)×16+[nn], 操作数约定在DS段中;也可加段超越前缀,用其他段。 2.寄存器间接寻址 操作数的偏移地址放在BX、BP、SI、DI中。 寄存器名要加方括号。 PA=(DS)×16+(BX、SI、DI) PA=(SS)×16+(BP) BX、SI、DI约定在DS段,BP约定在SS段;允许段超越。 3.寄存器相对寻址 指定寄存器的内容,加上指令中给定的位移量(8位或16位),即为EA。 位移量常用标号表示,寄存器名要加方括号。 PA=(DS)×16+(BX、SI、DI)+位移量 PA=(SS)×16+(BP)+位移量 BX、SI、DI约定在DS段,BP约定在SS段;允许段超越。 寻址方式举例1 分别指出下列指令中源操作数和目的操作数的寻址方式。 MOV SI,2100H MOV [SI],AX AND AX,DX MOV AX,ES:[BX] MOV [BP],CX 寻址方式举例2 已知8086的寄存器和存储单元的内容如图,试指出下列各指令执行后,AX中的内容。 MOV AX,2010H MOV AX,[1200H] MOV AX,1100H[BX] MOV AX, 1100H[BX+SI] LEA AX,[SI] 数据传送指令 算术运算指令 逻辑运算指令 串操作指令 控制转移指令 处理机控制指令 指令中的符号含义 Flags:标志寄存器 reg:通用寄存器 src:源操作数 dest:目的操作数 data:立即数 堆栈指令举例 已知(SS)=0A2F0H,(SP)=00C0H,(AX)=8B31H,(CX)=0F213H,试画出下列指令执行到位置1和位置2时堆栈区和SP指针的变化示意图。图中标出存储单元的实际地址PA。 PUSH AX PUSH CX ;位置1 POPF ;位置2 五、十进制调整指令 对BCD码的运算结果进行调整,使结果仍为一BCD码。 原因:对BCD码的加减乘除仍按二进制运算规则,所以结果有可能为非法码。 BCD码分为两种: 压缩BCD码:一个字节表示两位BCD码。 非压缩BCD码:一个字节的低四位表示一位BCD码,高四位为0。 §4.5 逻辑运算指令 完成数据的逻辑运算和位移. 布尔型指令 非循环移位指令 循环移位指令 一、逻辑运算指令 循环移位指令说明 小循环指令可用来检测src中“1”或“0”的个数; 大循环指令可实现多字节数据的移位。 上述指令只影响CF、OF。OF只在count=1时有效,移位后最高位变化,则OF=1。 四、子程序调用与返回指令 CALL和RET举例 MOV SP,01FEH … 04F0 CALL MY-PROG 04F3 NEXT:MOV AX,BX … MY-PROG PROC 0500 MOV CL,6 … 051E RET MY-PROG ENDP 中断:微机在运行时,遇到一些特殊情况,需要CPU停止执行当前的工作,而转去执行一段专门的服务程序。 中断源:引起中断的一些特殊情况。 外部中断源:通过外设接口向CPU的引脚INTR和NMI提出申请。 内部中断:通过CPU执行中断指令产生的,或在执行指令过程中产生的。 例:当计算两个字节数组ARRAY1和ARRAY2之和时,若和为0,则停止计算,并在NO单元中记下非零数组的长度。 MOV AL,0 MOV SI,-1;数组序号从0开始,先设为-1 MOV CX,8 ;设计数初值 NONZERO:INC SI MOV AL,ARRAY1[SI] ;取被加数 ADD AL,ARRAY2[SI] ;相加 MOV SUM[SI],AL ;存和 LOO

文档评论(0)

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

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

1亿VIP精品文档

相关文档