微型计算机原理
复习提纲
1.两个4字节的无符号数分别存放在从2000H和2010H开始的存储单元中,编写程序完成
它们的相加操作,并将所求的和放在从2000H开始的内存单元中。
2.设在2000H开始的内存单元中,存放50个无符号字节数,编程找出其中的最大值,并把
它存放到DL寄存器中。
3.将AL中的两个组合BCD数分别转换成对应的ASCII码,并存放在CX中(高位BCD数的转
换结果放在CH中,低位BCD数的转换结果放在CL中)。
4.已知在BUF为首地址的单元中,存放了10个ASCII码数据,编程将它们转换为BCD码后,
存放在BUF+10为首地址的单元中。
编一个程序段。数据段有100个无符号字节数据块BUF,试找出其中数值为0的数据个数并
放入ZERO单元中
5.在数据段BUF开始的连续10个单元中存放有10个无符号数,编程求出它们的和并放入
SUM单元中。
6.在数据段BUF开始的连续10个单元中存放有10个无符号数,编程找出其中的最大值放入
MAX单元中。
7.如图1所示,8255A的A口PA0、PA1、PA2引脚分别接3个开关K0、K1、K2,B口PB0、
PB1、PB2通过驱动电路分别接到3个发光二极管的阳极。开关的状态通过A口输入到8255A,
然后将其送到B口输出,控制发光二极管的亮与灭。
(1)通过译码电路分析确定8255A的端口地址:(假定未使用的引脚均为低电平“0”)
A口地址:口地址: C口地址:控制口地址 =
(2)编程:根据读入A口开关状态,去控制发光二极管的程序。(要求说明8255A控制字
的设置过程)
8.已知8255A的A口PA0~PA5接6只共阴数码管LED0~LED5的段码,B口PB0~PB5分别
接LED0~LED5的位码,A、B口工作于方式0,8255A的工作方式控制字如图所示。要求:
a.简单画出8255A的A、B口与LED的接线图;
b.已知8255A的端口地址为:380H~383H,写出能在LED0和LED1上同时显示“66”的程序。