《微机原理中的关于输入输出指令.docx》由会员分享,可在线阅读,更多相关《微机原理中的关于输入输出指令.docx(2页珍藏版)》请在三一办公上搜索。
1、微机原理中的关于输入输出指令I/O指令是专门面向输入输出端口进行读写的命令,共有两条:IN和OUT.输入指令IN用于从I/O端口读数据到累加器AL(或AX)中,而输出指令OUT用于把累加器AL(或AX)的内容写到I/O端口。 即从CPU方面看,只有累加器AL(或AX)才能与I/O端口进行数据传送,所以两条指令也称为累加器专用传送指令。 8086系统可以连接多个外设端口,可以像存储器一样用不同的地址来区分它们。在I/O指令中,允许用两种形式来表示端口地址,或称为两种寻址方式: u 直接寻址:指令中 的I/O端口地址为8位。此时允许寻址256个端口,端口地址范围为:0FFH. u 寄存器间接寻址:
2、端口地址为16位,由DX寄存器指定,可寻址64K个端口地址,范围为:0FFFFH。 1) 输入指令 IN 指令格式:IN acc,port ;直接寻址,port为8位立即数表示的端口 或:IN acc,DX ;间接寻址,16位端口地址由DX给出 指令从端口输入一个字节到AL或输入一个字到AX中 例1 MOV DX,03B0H ;将16位端口地址送DX IN AL ,DX ;从地址为3B0H的端口输入 ;一个字节到AL IN AX,3FH ;从地址为3FH的端口输入一个字到AL 2) 输出指令OUT 指令格式:OUT port, acc ;直接寻址,port为8位立即数表示的端口地址, 或:OUT DX,acc ;间接寻址,16位端口地址由DX给出 指令将AL(或AX)的内容输出到指定的端口 例2 OUT 43H ,AL ;将AL的内容输出到地址为43H的端口 OUT 44H,AX ;将AX的内容输出到地址为44H的端口 MOV DX,33FH ;端口地址33FH送DX OUT DX,AL ;将AL的内容输出到地址为33FH的端口 请注意,采用间接寻址的IN/OUT指令只能用DX寄存器作为间接寄存器