采用825SA作按键开关和发光二极管接口的8位微机系统部分硬件原理图如题40图所示。若8255A工作于方式0,CPU采用无条件传送方式和外设交换数据。
要求:

(1)写出8255A的4个端口及其口地址;
(2)当某按键开关KEYi(i=7~0)闭合时,CPU从端口B读取的数据中,对应位Di(i=7~0)应为0还是为1?当CPU向端口A写入数据后,使Dj=1,则对应的发光二极管LEDj是点亮还是熄灭?
(3)完成以下8255A方式选择控制字的初始化设置程序,请将空白横线上所缺内容①-②,写在答题卡上。(控制字中无关项置0)
MOV AL,___①____
MOV DX,____②____
OUT DX,AL

(4)若开关KEYO单独闭合则LED0-LED3四个灯亮,其余灯暗;
开关KEY7单独闭合则LEDO、LED2、LED4、LED6四个灯亮,其余灯暗;
以下是实现这一功能的程序段,请将该程序空格处所缺失的正确内容,填到答题卡上。
AGAIN: MOV DX,____①_____ ;读取开关状态
IN AL,DX
CMP AL,____②____ ;判断KEY0是否单独闭合
___③_____ NEXT ;不是,则转NEXT
MOV AL,______④__ ;是,则置LED0-LED3亮
MOV DX,2C4H
OUT DX,AL
JMP AGAIN
NEXT: XOR AL,___⑤____ ;判断KEY7是否单独闭合
JNZ AGAIN
MOV AL,___⑥____ ;是,则置LED0-LED3、LED4
MOV DX,2C4H ;和LED6四个灯亮
OUT DX,AL
JMP AGAIN