请问关于8255A的有关问题

请教关于8255A的问题
假设C口高位为输入 C口低位为输出 

那么要输入输出的时候,如何使用指令呢?

要输入C口高位的时候 用 IN AL, C口地址
要输出C口地位的时候 用 OUT AL, C口地址

这样可以吗?

---------------------------------------------------
---------------------------------------------------
另有一题目:
下图中,PA口作为向打印机输出的数据口,工作于方式0,采用程序查询的控制方式。由PC0产生控制信号,PC7读取外设状态BUSY,8255的端口地址为90H~93H。则要求从内存2000H:3000H开始取出100个数据送打印机打印的控制程序为: 
  MOV AX,2000H ;段地址
  MOV DS,AX
  MOV BX,3000H ;段偏移  
  MOV CX,100 ;循环次数
  MOV AL,88H ;控制字(A口方式0输出、C口高位输入、C口低位输出)
  OUT 93H,AL ;输出控制字
LOP:IN AL,92H ;输入C口
  TEST AL,80H ;测试最高位是否1(BUSY)
  JNZ LOP
  MOV AL,[BX] ;取一位数据
  OUT 90H,AL ;输出到A口

  MOV AL,01H ;设置C口最低位(形成一个脉冲)
  OUT 93H,AL ;!!我的问题是 这里用OUT 92H, AL是否可以? 如果不可以,为什么?
  MOV AL,00H
  OUT 93H,AL
  MOV AL,01H
  OUT 93H,AL

  INC BX
  LOOP LOP
  MOV AH,4CH
  INT 21H

我的问题是 要输出C口最低位时,用 OUT 92H, AL 是否可以? 如果不可以,为什么?

-------------------



------解决方案--------------------
第一个问题,可以这么操作,只是输出时不是工作在输出方式的位上没有变化,而输入时需要将那些读入的数据中不是输入的位屏蔽一下。
第二个问题,也可以,只不过这样做会影响其它位,而位控方式不会影响到其它位,清净一点。