1 / 29
文档名称:

输入指令inout.doc

格式:doc   大小:106KB   页数:29页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

输入指令inout.doc

上传人:luciferios06 2017/2/21 文件大小:106 KB

下载得到文件列表

输入指令inout.doc

相关文档

文档介绍

文档介绍:输入指令 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] 端口交换。例 :用字节输入指令从 20h 和 21h 端口输入一个字数据 in al,21h mov ah,al in al,20h :用字输入指令从 20h 和 21h 端口输入一个字数据 in ax,20h 例 :用 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 用于寻址外设端口有 2 16=65536 个( 64K ),端口号为 0000H ~FFFFH 。每个端口用于传送外设的一个字节数据。寻址前 256 个端口时,输入/输出指令可以用直接寻址,操作数 i8即为端口号, 其范围为 00H ~FFH 。当寻址大于 256 的外设端口时,只能使用 DX寄存器间接寻址,其范围为 0000H ~ FFFFH 。输入/输出指令还分成用 AL进行的字节传送和用 AX进行的字传送。实现字传送时, AL与i8或[DX] 端口交换, AH与i8+1 或[DX+1] 端口交换。例 :将数据 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 结果不为 0 5、 SF (符号标志) =1 结果最高位为 1(即结果为负数) =0 结果最高位为 0 (结果为正数) 6、 OF (溢出标志) =1 此次运算发生了溢出=0 无溢出例如 8位二进制数相加: 1001 1100B+0001 1000B 结果为 1011 0100B 此时无进位 CF=0 , PF=1 , AF=1 , ZF=0 , SF=1 ,OF =0 。 7、已知有几个元素