第七章1.设主8259A的的端口地址为20H、21H,连IR3的从片端口地址为24H、25H。主片的初始化:设定缓冲方式,级联,IR2、IR3和IR4上连接从片,中断请求信号边沿触发,中断类型码40H—47H,特殊全嵌套方式,非自动EOI,屏蔽IR4、IR6。主片初始化程序如下:MOVAL,11H;ICW1=00010001,需要ICW4,边沿触发OUT20H,AL;写ICW1MOVAL,40H;ICW2=01000000,中断类型码为40H~47HOUT21H,AL;写ICW2MOVAL,1CH;ICW3=00011100,IR2、IR3和IR4接有从片OUT21H,AL;写ICW3MOVAL,1DH;ICW4=00011101,特殊全嵌套,缓冲,主片,;非自动EOI,8086/8088OUT21H,AL;写ICW4MOVAL,50H;OCW1=01010000,主片IR4、IR6屏蔽OUT21H,AL;写OCW12.设定缓冲方式,级联,该从片接至主片的IR3上,中断请求信号边沿触发,中断类型码48H—4FH,优先权特殊循环方式,IR5为最低,非自动EOI。初始化程序如下:MOVAL,11H;ICW1=00010001,需要ICW4,边沿触发OUT24H,AL;写ICWlMOVAL,48H;ICW2=01001000,中断类型码为48H~4FHOUT25H,AL;写ICW2MOVAL,03H;ICW3=00000011,编码为3,该从片接至主片IR3OUT25H,AL;写ICW3MOVAL,09H;ICW4=00001001,缓冲,从片,;非自动EOI,8086/8088OUT25H,AL;写ICW4MOVAL,0;OCW1=0,接至IR3的从片开放所有中断OUT25H,AL;写OCWl;写入高地址是OCW1MOVAL,0C5H;OCW2=11000101,00表示是OCW2,110表示优先;权特殊循环方式的最低级,101表示IR5为最低OUT24H,AL;写OCW2作业题P197:2,8,9、17(p173):2(1,3),3第八章1、已知A,B,C端口均作为输入或输出端口,有12个开关和12个发光二极管,每一个开关对应每一个发光二极管,当某一开关接通时,对应的发光二极管就亮,否则就暗。试编写程序段实现此功能。(8255A的端口地址是0218H~021BH)解:程序段流程图程序段清单MOVAL,83H;B口和C口低4位输入,A口和C高4位输出MOVDX,021BH;控制端口地址送DXOUTDX,AL;从控制端口写入方式控制字LL:MOVDX,0219H;读B口INAL,DXDECDX;A口OUTDX,AL;将B口读入的开关状态从A口输出MOVDX,021AH;C口INAL,DX;C口读入数据MOVCL,4SHLAL,CL;将低4位左移到高4位OUTDX,AL;将低4位读入的从高4位输出JMPLLHLT习题8255A哪种工作方式具有中断请求的功能?该中断请求能否屏蔽?如何设置?解:8255A的方式1、方式2具有中断请求功能,均可屏蔽。A口:方式1输入时,PC4置位允许中断、PC4复位禁止中断;方式1输出时,PC6置位允许中断、PC6复位禁止中断;方式2时,即为方式1输入、输出的组合。B口:工作于方式1时,PC2置位允许中断、PC2复位禁止中断。设8255A的端口地址为0260H~0263H,试编写下列各种情况的初始化程序:8255A+5VK0(CPU数据总Ïߣ©D0~D7(8088A1)A1RESET(CPU)WR(CPU)RD(8088A0)A0CSPB0PB7PC0PC3K7K8K11..................PA0PC7PC4PA7发光二级管驱动器......L0L11L8L7......................+5V(1)A口、B口设置为方式0,端口A和C作为输入口,允许中断。解:初始化程序段:MOVAL,99H;方式选择控制字=10011001MOVDX,0263H;端口地址大于8位送DXOUTDX,AL(2)A口设置为方式2,禁止中断,B口设置为方式1输出,允许中断。解:初始化程序段:MOVAL,0C4H;方式选择控制字=11xxx10xMOVDX,0263HOUTDX,AL;初始化完成MOVAL,0CH;位操作控制字=00001100,PC6复位,输出中断禁止OUTDX,ALMOVAL,08H;位操作控制字=00001000,PC4复位,输入中断禁止OUTDX,AL;A口方式2,禁止中断MOVAL,05H;位操作控制字=00000101,PC2置位,B口中断允许OUTDX,AL(3)A口设置为方式1输入,PC7和PC6作为输出,B口方式1输入,A口和B口允许中断。解:初始化程序段:MOVAL,0B6H;方式选择控制字=1011011xMOVDX,0263HOUTDX,AL;初始化完成MOVAL,09H;位操作控制字=00001001,PC4置位OUTDX,AL;A口允许中断MOVAL,05H;位操作控制字=00000101,PC2置位OUTDX,AL;B口允许中断微机实验程序:1)二进制加法运算:计算X+Y=Z,将结果存入Z存储单元。(若为二进制双精度加法运算,程序如何设计?)DATASEGMENTXLDW?;在此给X低位赋值XHDW?;在此给X高位赋值YLDW?;在此给Y低位赋值1D6D5D4D3D2D1D00:端口CPC3~PC0输出1:端口CP...