网站大量收购闲置独家精品文档,联系QQ:2885784924

处理器控制指令.ppt

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

IN,OUT端口读写指令(累加器专用传送指令) 端口是主机与外设进行数据交换的。(外设接口电路有专用于数据交互的寄存器。为了与CPU中的寄存器相区别,称之为“端口”)。端口有数据端口,状态端口和控制端口3种。 PC机给予每一个端口分配了一个地址(称为端口号),形成一个独立于内存空间的I/O地址空间。在8086/8088中,端口地址的范围是0000至FFFF。 CPU对外设的操作通过专门的端口读写指令来完成。读端口用IN指令,写端口用OUT指令。 前256个端口(0~FFH)可以直接在指令中指定; 当端口号≥256时,此时,必须先把端口号放到DX寄存器中(端口号可以从0000~FFFFH),然后再用IN或OUT指令来传送信息。 这里的端口号或DX的内容均为地址,而传送的是端口中的信息,而且在用短格式时DX的内容就是端口号本身,不需要由任何段寄存器来修改它的值。 输入,输出指令不影响标志位。 (1) IN(Input)输入指令 直接输入: IN AL,PORT IN AX,PORT 执行的操作:(AL)-- (PORT) (字节操作) (AX)-- (PORT+1,PORT) (字操作) 例: IN AL,21H;表示从21H端口读取一字节数据到AL IN AX,21H;表示从端口地址21H读取1字节数据到AL,从端口地址22H读取1字节到AH 间接输入: IN AL,DX IN AX,DX 执行的操作:(AL)-- ((DX)) (字节操作) (AX)-- ((DX)+1,(DX)) (字操作) 例: MOV DX,379H IN AL,DX ;从端口379H读取1字节到AL 2)OUT(Output)输出指令 直接输出: OUT PORT,AL (字节操作) OUT PORT,AX (字操作) 执行的操作:(POTR)-- AL (字节操作) (PORT+1,PORT)-- (AX) (字操作) 例: OUT 21H,AL;将AL的值写入21H端口 OUT 21H,AX;将AX的值写入端口地址21H开始的连续两个字节。(port[21H]=AL,port[22h]=AH) 间接输出: OUT DX,AL (字节操作) OUT DX,AX (字操作) 执行的操作:((DX))-- AL (字节操作) ((DX)+1,(DX))-- (AX) (字操作) 例: MOV DX,378H OUT DX,AX ;将AH和AL分别写入端口379H和378H 6. 处理器控制指令 标志操作指令 STC 进位标志置1 CLC 进位标志置0 CMC 进位标志取反 STD 方向标志置1 CLD 方向标志置0 STI 中断允许标志置1 CLI 中断允许标志置0 ? ? 这类指令都是无操作数指令,使用的都是隐含操作数,把特定的标志位置0或置1。 (I)清除进位标志指令(Clear carry flag) 指令格式:CLC 指令功能:将CF标志清0。 例1.完成三字数据的加法 CLC ADC AX,BX ADC DX,CX ADC SI, DI 功能:(SI,DX,AX)+(DI,CX,BX) 如果使用程序的循环结构,那么只需要一条ADC指令。 (II)进位标志置位指令(Set carry flag) 指令格式:STC 指令功能:将CF标志置1 (III)进位标志取反指令 (Complement carry flag) 指令格式:CMC 指令功能:CF标志位取反。 例2.将(AL)逐位取反,取反结果存放到AH SHL AL,1 CMC RCL AH,1 循环8次把所有数据位都处理完 (IV)清除方向标志指令 (Clear direction flag) 指令格式:CLD 指令功能:DF标志位清0 DF标志清0后,所有串操作指令每执行一次操作就会自动使变址寄存器SI和DI中的偏移量增加,使它们指向下一个数据。 (V)方向标志置位指令(Set direction flag) 指令格式:STD 指令功能:DF标志位置1 DF标志清0后,所有串操作指令每执行一次操作就会自动使变址寄存器SI和DI中的偏移量减少,使它们指向下一个数据。 (VI

文档评论(0)

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

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

1亿VIP精品文档

相关文档