《微机原理与接口技术》复习题
一、编写程序,求一个给定的字节数组各元素的和,结果保存到字变量VALUE中。 二、编写程序,把一个字节类型的无符号数乘以10,乘积保存到字类型的变量中,要求采用加法和移位指令完成该乘法运算,不能使用MUL指令。
三、编写程序,从一个给定的字节数组中找出最小/最大的元素,并把该元素保存到字节变量MIN/MAX中。
四、编写程序,统计一个给定的字节数组中正数和零的个数,并把结果保存到字节变量RESULT中。
五、编写程序,对字节变量VALUE进行初始化,从一个给定的字节数组中查找与该变量值相等的元素,数组的长度保存在变量LEN中。如果找到,则把该元素从数组中删除,并且修改数组的长度;如果未找到,则不做任何处理。
六、编写程序,请采用冒泡排序法将一个给定的字节数组的所有元素按从小到大的顺序排列。
七、编写程序,给定一个字符串,把其中所有的小写字母转换为对应的大写字母,并且在屏幕上显示转换后的结果。
八、编写程序,从键盘输入两个字符串,比较它们是否相同,若相同则在屏幕上显示字符“Y”,若不同则在屏幕上显示字符“N”。
九、编写程序,请从键盘输入一个不超过4位的十进制数,在屏幕上显示该十进制数,然后把它转换为相应的二进制数并保存到变量VALUE中。如果按非数字键则忽略,如果按回车键则表示输入结束。
十、编写程序,给定字节变量VALUE的值,把该值转换成对应的十六进制数,并且在屏幕上显示转换后的结果。
十一、编写程序,用一个十六进制数给字节变量VALUE初始化,把其值转换成对应的十进制数,并且在屏幕上显示转换后的结果。
十二、请用4片Intel 6116芯片设计一个8KB的存储器,其中地址线有16条,数据线有8条,起始地址为0000H。要求画出该存储器的逻辑结构图,并在图中标出各信号线的名称。
十三、某微型机的中断系统由3片8259A组成,以级联方式进行连接。其中作为主片的8259A的端口地址为80H和81H,工作方式为特殊完全嵌套、电平触发、缓冲及中断非自动结束,中断类型号为08~0FH。第一个从片8259A的端口地址为82H和83H,工作方式为完全嵌套、电平触发、缓冲及中断非自动结束,中断类型号为40~47H,中断请求输出端INT与主片的IR2连接在一起;第二个从片8259A的端口地址为84H和85H,工作方式为完全嵌套、电平触发、缓冲及中断非自动结束,中断类型号为48~4FH,
1 / 2
中断请求输出端INT与主片的IR4连接在一起。请编写程序分别对上述三个8259A芯片进行初始化。
十四、8255A采用无条件传送方式从A口输入开关状态,并将该状态对应的编码从B口输出到LED显示器,写出实现上述功能的汇编语言程序。请参考教材第289页的例7.3。
十五、8255A以查询方式向打印机输出数据。假设8255A的端口A工作在方式1,数据输出,打印机的BUSY信号连接到PC2,三个端口以及控制寄存器的地址为8000~8003H。写出打印机驱动程序,请参考教材第291页的例7.4。
十六、8255A以中断方式向打印机输出数据。假设8255A的端口A工作在方式1,数据输出,其中断请求信号通过PC3连接到8259A的IR2,端口B和端口C不用,三个端口以及控制寄存器的地址为1F0~1F3H;8259A的工作方式为电平触发、单片、完全嵌套、非缓冲且中断非自动结束,中断类型号为48~4FH,端口地址为1F4~1F5H。要求写出主程序和中断服务程序,在主程序中分别对8259A、8255A和中断向量表初始化,在中断服务程序中向打印机输出字符,请参考老师在上课时讲解的例题。
十七、假设8254的四个端口地址分别为1F0~1F3H,其A1和A0分别与对应的地址线连接。现在要求计数器0工作在方式0,计数初值为10000,按二进制计数;计数器1工作在方式1,计数初值为80,按BCD码计数;计数器2工作在方式3,计数初值为200,按二进制计数。请分别写出对该8254三个计数器初始化的程序段以及读取计数器0当前值的程序段,要求把读出结果保存到寄存器AX中。
十八、利用8254的计数器0#每秒钟产生一次中断请求,共中断10次,每次中断在屏幕上输出一串字符。假设8254的计数器0#工作在方式3,其时钟信号CLK0的频率为2.5KHz,其输出信号OUT0被接入8259A的IR2引脚,端口地址为1F0~1F3H;8259A的工作方式为电平触发、单片、完全嵌套、非缓冲、非自动结束,中断类型号为68~6FH,端口地址为1F4~1F5H。要求写出主程序和中断服务程序,在主程序中分别对8259A、8254和中断向量表初始化,在中断服务程序中输出字符串,请参考老师在上课时讲解的例题。
十九、利用8237A的通道2实现外设到主存的数据传送。已知主存数据区的首地址为BUFF,要传送的数据量为1000个字节,8237A的端口地址为8000~800FH,采用单字节传送方式,请编写对8237A初始化的程序段。
二十、利用8237A实现存储器到存储器的数据传送。已知源数据区的首地址为BUFF1,目的数据区的首地址为BUFF2,要传送的数据量为5000个字节,8237A的端口地址为8000~800FH,采用数据块传送方式,请编写对8237A初始化的程序段。
2 / 2
大连大学微机原理与接口技术期末考试题(电信11级)



