第三章寻址方式与指令系统.ppt

  1. 1、本文档共85页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
进位CF参与循环位移。 * P73循环位移只对cf和of有影响,cf有移入的内容决定,of取决于位移一次后符号位是否改变,若改变,则of=1 Sal 运行后,of=1,则移动前后的操作数不再有倍增关系 * 处理器控制指令-标志位操作指令 格式: CLC ;置CF=0 STC ;置CF=1 CMC ;置CF=(Not CF)进位标志求反 CLD ;置DF=0 STD ;置DF=1 CLI ;置IF=0,CPU禁止响应外部中断 STI ;置IF=1,使CPU允许向应外部中断 功能: 完成对标志位的置位、复位等操作. 说明: 例如串操作中的程序,经常用CLD指令清方向标志使DF=0,在串操作指令执行时,按增量的方式修改吕指针. * 111111111111111P85 HLT;停机指令,用于程序中等待中断。 交权指令ESC:将浮点指令交给浮点运算协处理器8087执行。 * p45 * * * 同样可以进行表格处理,表格的首地址可设置为TABLE,利用修改基址或变址寄存器的内容来取得表格中的值。 * P28 * 由于两个寄存器都可以修改,所以它比直接变址方式更加灵活。 TABLE[SI][DI]两个都是变址,是错误的。 * DF方向标志(FLAGS)控制信息处理方向。 3333333333333333333111111111111111111111 * * 1、IN指令可以从一个I/O接口中的数据寄存器输入数据 2、寄存器间接端口寻址,其端口地址在DX中,范围是0——65535 输入指令 IN 格式: IN AL,n ;(AL)--(n) IN AX,n ;(AX)--(n+1),(n) IN AL,DX ;(AL)--[(DX)] IN AX,DX ;(AX)--[(DX)+1],[(DX)] 功能: 输入指令 说明: 1. 其中n为8位的端口地址,当字节输入时,将端口地址n+1的内容送至AH中,端口地址n的内容送AL中. 2. 端口地址也可以是16位的,但必须将16位的端口地址送入DX中.当字节寻址时,由DX内容作端口地址的内容送至AL中; 当输入数据字时,[(DX)+1]送AH,[(DX)]送AL中,用符号:(AX)--[(DX)+1],[(DX)]表示. OUT 输出指令 OUT 格式: OUT n,AL ;(n)--(AL) 功能: 输出指令 说明: 1. OUT n,AX ;(n+1),(n)--(AX) OUT DX,AL ;[(DX)]--(AL) OUT DX,AX ;[(DX)+1],[(DX)]--(AX) 2. 输入指令及输出指令对标志位都不影响. * 前面讲的PUSH 、POP也是数据传送指令。 说明: 1. OPRD1及OPRD2可为通用寄存器或存储器,但是两个存储器之间是不能用XCHG指令实现的. 2. 段寄存器内容不能用XCHG指令来交换. 3. 若要实现两个存储器操作数DATA1及DATA2的交换,可用以下指令实现: 示例: PUSH DATA1 PUSH DATA2 POP DATA1 POP DATA2 4. 本指令不影响状态标志位. * * Load ah with flags 标志送AH * Store ah into flags 说明: 本指令将用AH的内容改写FLAG标志寄存器中的SF、ZF、AF、PF、和CF标志,从而改变原来的标志位. * POPF 标志传送指令 POPF 格式: POPF 功能: 本指令的功能与PUSHF相反,在子程序调用和中断服务程序中,往往用PUSHF指令保护FLAG的内容,用POPF指令将保护的FLAG内容恢复. 说明: 如果对堆栈中的原FLAG内容进行修改,如对TF等标志位进行修改,然后再弹回标志位寄存器FLAG.这是通过指令修改TF标志的唯一方法. mov ax,1200h push ax popf * * 本组指令把变量的偏移地址、段地址送给寄存器,以提供访问变量的工具 * 在本节中只讨论基本的加法和减法指令,其他指令在以后的章节中介绍. * 说明: 1. OPRD1为任一通用寄存器或存储器操作数,可以是任意一个通用寄存器,而且还可以是任意一个存储器操作数. OPRD2为立即数,也可以是任意一个通用寄存器操作数.立即数只能用于源操作数. 2. OPRD1和OPRD2均为寄存器是允许的,一个为寄存器而另一个为存储器也是允许的, 但不允许两个都是存储器操作数. 3. 加法指令运算的结果对CF、SF、OF、PF、ZF、AF都会有影响.以上标志也称为结果标志.加法指令适用于无符号数或有符号数的加法运算. * * 1.Asm 说明算术语句与堆栈操作指令 stsg

文档评论(0)

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

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

1亿VIP精品文档

相关文档