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

输入指令INout.docVIP

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
输入指令INout

输入指令IN IN AL,i8 ;字节输入:AL←I/O端口i8 IN AX,i8 ;字输入:AL←I/O端口i8,AH←I/O端口i8+1 IN AL,DX ;字节输入:AL←I/O端口[DX] IN AX,DX ;字输入:AL←I/O端口[DX],AH←I/O端口[DX+1] 8086用于寻址外设端口有216 = 65536个(64K),端口号为0000H ~ FFFFH。每个端口用于传送外设的一个字节数据。 寻址前256个端口时,输入/输出指令可以用直接寻址,操作数i8即为端口号,其范围为00H ~ FFH。接寻址,其范围为0000H ~ FFFFH。 输入/输出指令还分成用AL进行的字节传送和用AX进行的字传送。实现字传送时,AL与i8或[DX]端口交换,AH与i8+1或[DX+1]端口交换。 例2.15a:用字节输入指令从20h和21h端口输入一个字数据 in al,21h mov ah,al in al,20h 2.15b:用字输入指令从20h和21h端口输入一个字数据 in ax,20h 例2.15c:用DX间接寻址从20h和21h端口输入一个字数据 mov dx,20h in ax,dx IN指令对应Debug的I指令(DEBUG的其他命令) IN AL, 60H ;从端口60H读入一个字节到AL中 IN AX,20H;把端口20H、21H按“高高低低”组成的 字读入AX MOV DX,2F8H IN AL,DX;从端口2F8H读入一个字节到AL中 IN AX,DX;把端口2F8H、2F9H按“高高低低”组成 的字读入AX OUT 61H,AL;把AL的内容输出到端口61H中 OUT 20H,AX;把AX的内容输出到端口20H、21H中 MOV DX, 3C0H OUT DX,AL;把AL的内容输出到端口3C0H中 OUT DX,AX;把AX的内容输出到端口3C0H、3C1H中 输出指令OUT OUT i8,AL ;字节输出:I/O端口I8←AL OUT i8,AX ;字输出:I/O端口I8←AL,I/O端口i8+1←AH OUT DX,AL ;字节输出:I/O端口[DX]←AL OUT DX,AX ;字输出:I/O端口[DX]←AL,I/O端口[DX+1]←AH 输出指令OUT将CPU数据传送至外设。 8086用于寻址外设端口有216 = 65536个(64K),端口号为0000H ~ FFFFH。每个端口用于传送外设的一个字节数据。 寻址前256个端口时,输入/输出指令可以用直接寻址,操作数i8即为端口号,其范围为00H ~ FFH。 当寻址大于256的外设端口时,只能使用DX寄存器间接寻址,其范围为0000H ~ FFFFH。 输入/输出指令还分成用AL进行的字节传送和用AX进行的字传送。实现字传送时,AL与i8或[DX]端口交换,AH与i8+1或[DX+1]端口交换。 例2.16:将数据80h送到3fch端口 mov dx,3fch mov al,80h out dx,al OUT指令对应Debug的O指令(链接DEBUG的其他命令)各标志位含义: 1、CF(进位标志) =1 算术操作最高位产生了进位或借位 =0 最高位无进位或借位比如cmp ah,al。 及进行ah-al操作,不过不保存结果,只影响标志位。 jnc和jc即根据cf标志位的结果进行跳转。 至于如何影响:如果减数大于被减数,此时有借位。则将cf位置1,否则置0.2、PF(奇偶标志) =1 数据最低8位中1的个数为偶数 =0 数据最低8位中1的个数为奇数 3、AF(辅助进位标志) =1 D3→D4位产生了进位或借位 =0 D3→D4位无进位或借位4、ZF(零标志) =1 操作结果为0 =0 结果不为0SF(符号标志) =1 结果最高位为1 =0 结果最高位为06、OF(溢出标志) =1 此次运算发生了溢出 =0 无溢出 例如8位二进制数相加:1001 1100B+0001 1000B 结果为 1011 0100B 此时无进位CF=0,PF=1,AF=1,ZF=0,SF=1,O=0。已知有几个元素存放在以BUF为首地址的字节存储区中,试统计其中正元素个数(汇编语言data segment ;数据段定义 buf db 3,6,-3,9,-6,-

文档评论(0)

taotao0c + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档