资源描述
姓名 学号 总分 任课老师 题号一二三四五得分答题时间:120分钟(全部题均答在试卷上)一、单选题(本大题共10小题,每小题1分,共10分)1、在下列指令中,合法的指令是( )。 A ADD BR,01H B OUT AL,DR C ROL CL,BR D IN AL,DR2指令 “MOV AR,BR” 源操作数的寻址方式为( )。 A 寄存器寻址 B寄存器间接寻址 C 寄存器相对寻址 D基址变址寻址3一个无符号二进制数逻辑左移一位相当于将其 ( )。 A 乘以1 B乘以2 C除以1 D除以24将十进制数46用组合BCD码形式定义到BCDBUF单元中,正确的定义方法为 ( )。A. BCDBUF DB 46H B. BCDBUF DB 46C. BCDBUF DW 0046H D. BCDBUF DW 0406H5若位容量为32K位的SRAM芯片具有8条数据线,则它具有的地址线条数为( )。 A11 B12 C13 D146若定义DAT DD 87654321H,则DAT+2字节单元的数据是( )。 A87H B65H C43H D21H7若有3片8259A级联工作,则能管理的外部可屏蔽中断个数为( )。A. 3个 B. 24个C. 22个 D. 21个8若主程序中已使中断标志IF置“1”(中断允许),则响应中断请求,进入中断服务程序并返回主程序后,IF标志位( )。 A一定为“1” B一定为“0” C可能为“1”,也可能为“0” D以上均不对9在I/O地址译码中,A5、A4、A3未参加译码,则产生的地址重叠数为( )。A. 3个 B. 8个C. 6个 D. 9个10中断向量可提供( )。 A被选中设备的地址 B传送数据的起始地址 C主程序的断点地址 D中断服务程序的入口地址二、填空题:(每空1分,共20分)1有一个16位数0001 0010 0101 0011,如果它是一个二进制数,它所表示的对应的十进制数是 ,如果它是一个压缩BCD码,它所表示的对应的十进制数是 。2一个8位二进制补码数,它的十六进制表示为CDH,它的十进制数数值为 。3如果堆栈的(SP)=0100H,执行程序:PUSH ARPUSH BRCALL SUB1 求这时的(SP)= 。4将DR中的低7位取反,高9位不变,正确的指令为 。5CPU与外设传送数据可采用 、 、 和 方式。6模型机接收中断类型码,将它左移 位后,形成中断向量表的指针。7如果某微处理器有16条地址总线和16条数据总线,假定存储器地址空间与I/O地址空间是分开的,则存储器地址空间为_;数据总线上传送的有符号整数的范围为_ _ 。8输入/输出指令的间接寻址必须通过_寄存器。9 根据下面的指令和伪指令序列,AR寄存器的内容为_。TAB DB 6,5,4,3,2,1ENTRY EQU 3MOV BR,OFFSET TABADD BR,ENTRYMOV AR,WORD PTR BR10设(DR)10111011B,(CL)3,(CF)1,指令ROR DR,CL执行后DR的内容为_ 。11CPU执行:MOV AR,62A0HADD AR,9D60H后,CF= , OF= , ZF= , PF= , SF= 。三、简答题(每小题4分,共8分)1简述I/O端口的编址方式及优缺点。2中断向量表的功能是什么?叙述CPU利用中断向量表转入中断服务程序的过程。四、程序分析题(7分,7分,4分,共18分)1假设下列定义变量在内存中按顺序存放,画出下列变量在存储器中的空间分配。DATA VAR1 DB 10,2,99VAR2 DW 8500HVAR3 DB ABC abcVAR4 DD 30000H,8600H ENDS地址+0+1+2+3+4+5+6+70000H0008H0010H0018H2一个8位的算术逻辑单元(ALU),如图1所示,根据操作码的高两位可以完成两个操作数的加、减、按位与以及按位或运算,输出可以根据操作码的最低位选择移位输出。用VHDL描述该ALU的代码如下所示。图1 8位ALU原理框图用VHDL描述该ALU的代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ALU_8bits ISPORT( Op_code : IN STD_LOGIC_VECTOR( 2 DOWNTO 0 );Input_A, Input_B : IN STD_LOGIC_VECTOR( 7 DOWNTO 0 );ALU_output : OUT STD_LOGIC_VECTOR( 7 DOWNTO 0 ) );END ALU_8bits;ARCHITECTURE behavior OF ALU_8bits ISBEGINPROCESS ( Op_code, Input_A, Input_B )VARIABLE temp_output : STD_LOGIC_VECTOR( 7 DOWNTO 0 ); -变量定义BEGINCASE Op_Code ( 2 DOWNTO 1 ) ISWHEN 00 = temp_output := Input_A + Input_B;WHEN 01 = temp_output := Input_A - Input_B;WHEN 10 = temp_output := Input_A AND Input_B;WHEN 11 = temp_output := Input_A OR Input_B;WHEN OTHERS = temp_output := 00000000;END CASE;IF Op_Code(0) = 1 THENAlu_output = temp_output( 6 DOWNTO 0 ) & 0;ELSEAlu_output = temp_output;END IF;END PROCESS;END behavior;根据以上给出的ALU框图及VHDL代码,完成下表:Op_Code3.0(二进制)Input_A(十六进制)Input_B(十六进制)Alu_output(十六进制)000(35)HEX(14)HEX001(35)HEX(14)HEX010(35)HEX(14)HEX100(35)HEX(14)HEX110(35)HEX(14)HEX3指出下列程序完成什么功能 DATASEG BUF DB abcdefghijENDSCODESEG START:MOV SI,0 MOV CR,10 MOV AL,20HNERT: SUB BUFSI,AL INC SI LOOP NERTENDS END START五、应用题(共44分)1图2为模型机系统中扩展的SRAM电路图,请完成以下操作:(1)写出每片6264(即上边片和下边片)各自的地址范围。(4分)(2)编写一个程序,可以完成“芯片复制器”从上边一片6264到下边一片6264的数据复制功能。(8分)(3)编程将6264内所有数据求异或(所有数据两两异或)将最终结果存入BL中。(8分)图2 模型机系统中扩展的SRAM电路图2在某微处理器应用系统中,若有A0A15 16条地址线,D0D7 8条数据线,采用独立编址方式,I/O读控制信号为,写控制信号为。试设计一输出并行端口,输出端口器件选用74LS374,输出端口地址8300H。 (1)画出硬件连接图。(10分) (2)编程实现使端口输出的低4位产生如图3所示的信号(各个信号的节拍不必严格相等)。(8分)图33试用VHDL(或Verilog-HDL)描述如图4所示状态机,其中A和B表示两个状态,X表示输出,带箭头曲线上的数字表示外部输入Y。(也可以画出HDL设计流程图)(6分)图4 包括A和B两个状态的状态转移图7 / 7文档可自由编辑打印
展开阅读全文