微型计算机原理练习附答案全解
复习提纲
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口地址: B口地址: 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”的程序。
9.设有2片8255A芯片,在系统中的连接如图所示。问:
(1)当8255A的数据总线D0~D7与系统数据总线的低8位相连时,1#芯片的4个端口地址为何值?(假设地址线中未用的引脚全为0)
(2)写出能够利用2#芯片A口外接开关K0~K7来控制1#芯片A口外接的LED0~LED7点亮的8255A初始化程序。
10.设寄存器(DS)=3000H,(SS)=2100H,(ES)=1200H,(SI)=1000H,(BX)=0100H,(BP)=0010H,数据段中变量MASK的偏移地址值为50H。指出下列指令中源操作数的寻址方式;对于存储器操作数,写出其物理地址。
①MOV CX,ES:[BX]
②MOV AX,MASK[BP]
11、.已知,(DS)=2000H,(BX)=100H,(SI)=0002H,从物理地址20100H单元开始,依次存放数据12H、34H、56H、78H;而从物理地址21200H单元开始,依次存放数据2AH、4CH、8BH、98H。试说明下列各条指令单独执行后AX寄存器的内容。
① MOV AX,3600H (AX)=
② MOV AX,[1200H] (AX)=
③ MOV AX,[BX] (AX)=
12.何谓波特率?某系统采用串行异步方式与外设通信,发送字符格式由1位起始位、7位数据位、1位奇偶校验位和1位停止位组成,波特率为1200。试问,该系统每分钟发送多少个字符?
13、计算机中,CPU的地址线与访问存储器单元范围的关系是什么?8086CPU有多少条地址线?它能够访问存储器单元的最大地址范围是多少?
14.微型计算机系统中引入中断有什么作用?简述NMI和INTR中断的异同点。
15. CPU与外设通信的方式有哪几种?简述CPU采用异步查询方式与外设通信的流程。
16.CPU地址线与存储器的寻址范围有何关系?如果某一处理器的地址线宽度为32位,则最大可寻址存储器单元的数量为多少?
17.在有多个中断源申请中断时,有几种方法确定它们的优先级别?试比较各自的优缺点。
18.若有一个四字节数,放在寄存器DX与AX中(DX中存放高16位),要求这个4字节数整个左移一位 如何实现?右移一位又如何实现?
19.伪指令DW,DUP LENGTH,$
20.现有一存储体芯片为512*4位,若要用它组成4KB的存储器,需要多少这样的芯片,每块