大连大学微机原理与接口技术期末考试卷A

管我坏不坏,又没叫你爱!
596次浏览
2020年03月21日 19:27
最佳经验
本文由作者推荐
大连微网站开发

姓 名 学 号 学 院 专 业 班 级 适用专业 计算机科学与技术 适用年级 2013 考试形式 闭 卷 送卷单位 信息工程学院 任课教师 顾晓冬 总印数 120 教研室(系) 主任 教学院长 大连大学2015/2016学年第一学期考试卷(A卷) 考试科目: 微机原理与接口技术B (共13页) 题号 一 二 三 四 五 六 七 八 九 十 总得分 得分 一、选择题(本题20分,每道小题1分) 1.在实地址模式下,80x86微处理器可寻址的最大存储空间为 。 A.1MB B.16MB C.4GB D.16GB 答案:【 】 2.如果某操作数的书写形式为[BX][SI],那么该操作数的寻址方式属于 。 A.立即寻址 B.直接寻址 C.寄存器间接寻址 D.基址加变址寻址 答案:【 】 3.若用PTR伪操作符将BX所指示的存储器操作数定义为32位,那么正确的书写形式是 。 PTR [BX] PTR [BX] PTR [BX] PTR [BX] 答案:【 】 4.假设当前堆栈指针SP=1800H,那么在执行指令“PUSH EAX”之后,SP= 。 A.17F8H B.17FCH C.17FEH D.17FFH 答案:【 】 5.假设寄存器AL=0F8H,BL=60H,那么在执行指令“IMUL BL”之后,寄存器AX的内容是 。 A.5D00H 00H C.F860H 8H 答案:【 】 6.每个汇编语言源程序在代码段末尾都要执行下面两条指令: MOV AH,4CH INT 21H 那么这两条指令的作用是 。 A.使程序正常结束,返回到命令行提示符 B.检查汇编语言源程序是否存在语法错误 C.声明程序中的指令语句属于8086指令集 D.使所有的通用寄存器和段寄存器清0 答案:【 】 第 1 页

7.若按指令的功能进行分类,CMP指令属于 。 A.数据传送类指令 C.逻辑运算类指令 答案:【 】 8.下列哪一条指令可使寄存器AL的低4位变反,而高4位保持不变? AL,0FH AL,0FH 答案:【 】 9.循环控制指令LOOPE转移成功的条件是 。 ≠0且ZF=1 =0且ZF=1 答案:【 】 10.调用指令CALL在转向子程序之前需要保护返回地址,这里的返回地址是指 。 A.调用指令自身的地址 C.子程序第一条指令的地址 答案:【 】 11.在16位寻址方式下,串操作指令默认源串以 作为地址指针,目的串则以 作为地址指针。 :SI、ES:DI :SI、DS:DI 答案:【 】 12.10号系统功能调用用于从键盘输入字符串,当用户按 键表示输入结束。 A.空格 答案:【 】 13.由INT指令引起的中断属于 。 A.内部中断 答案:【 】 14.某中断系统由三片8259A组成,其中一个作为主片,另外两个作为从片。如果两个从片的ICW3分别为00000101B和00000110B,那么主片的ICW3= 。 A.10100000B 答案:【 】 15.若8259A中断屏蔽寄存器的内容为25H,并且CPU处于开中断的状态,当IR2和IR4同时有请求时,CPU将 。 A.先响应IR2的请求,再响应IR4的请求 C.只响应IR4的请求,不响应IR2的请求 答案:【 】 第 2 页 B.只响应IR2的请求,不响应IR4的请求 D.对IR2和IR4的请求都不响应 B.01100000B C.00100100B D.00000110B B.外部中断 C.可屏蔽中断 D.非屏蔽中断 B.回车 D.$$ :DI、ES:SI :DI、DS:SI B.调用指令的下一条指令的地址 D.子程序最后一条指令的地址 ≠0且ZF=0 =0且ZF=0 AL,0FH AL,0FH B.算术运算类指令 D.程序控制类指令

16.若要使8255A的PC5设置为高电平输出,则对应的端口C置位/复位控制字为 。 A.00001101B 答案:【 】 17.当8254的某个计数器正在计数时,下列哪一个寄存器的内容一直跟随计数执行部件不断地变化? A.计数初值寄存器 C.控制寄存器 答案:【 】 18.若要读取8254计数器1的状态信息和当前计数值,则应将该8254的读回命令设置为 。 A.11000001B 答案:【 】 19.在对8237A执行复位操作时,只有 被置为1,其他寄存器均被清0。 A.控制寄存器 答案:【 】 20.若将8237A的某个通道的传送类型定义为写传送,则表示数据由 传送到 。 、内存 C.I/O设备、内存 答案:【 】 二、阅读程序(本题共30分) 1.下面的程序执行完毕后,变量RESULT的内容是 。(7分) DATA SEGMENT ARRAY DB 79,166,201,38,43 DB 185,82,234,51,136 COUNT EQU $$-ARRAY RESULT DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA BEGIN:MOV AX,DATA MOV DS,AX LEA BX,ARRAY MOV CX,COUNT MOV AX,0 第 3 页 GOON:ADD AL,[BX] ADC AH,0 INC BX LOOP GOON MOV RESULT,AX MOV AH,4CH INT 21H CODE ENDS END BEGIN B.内存、CPU D.内存、I/O设备 B.状态寄存器 C.屏蔽寄存器 D.请求寄存器 B.11000010B C.11000100B D.11001000B B.输出锁存器 D.状态寄存器 B.00001011B C.00000101B D.00100000B

2.下面的程序执行完毕后,变量RST1和RST2的内容分别是 和 。(8分) DATA SEGMENT ARRAY DB 79,-16,0,53,-114,-47 DB 26,85,-33,98,2,19 COUNT EQU $$-ARRAY RST1 DB ? RST2 DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA BEGIN:MOV AX,DATA MOV DS,AX LEA BX,ARRAY MOV CX,COUNT MOV DX,0 GOON:MOV AL,[BX] TEST AL,80H 3.下面的程序执行完毕后,屏幕上显示的内容是 。(7分) DATA SEGMENT VALUE DW 15625 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA BEGIN:MOV AX,DATA MOV DS,AX MOV AX,VALUE MOV CX,4 GOON:ROL AX,1 ROL AX,1 ROL AX,1 ROL AX,1 MOV BX,AX AND AL,0FH CMP AL,9 第 4 页 JBE SKIP ADD AL,7 SKIP:ADD AL,30H MOV DL,AL MOV AH,2 INT 21H MOV AX,BX LOOP GOON MOV DL,48H MOV AH,2 INT 21H MOV AH,4CH INT 21H CODE ENDS END BEGIN JNE SKIP ADD DL,1 JMP NEXT SKIP:ADD DH,1 NEXT:INC BX LOOP GOON MOV RST1,DL MOV RST2,DH MOV AH,4CH INT 21H CODE ENDS END BEGIN

4.下面的程序执行完毕后,屏幕上显示的内容是 。(8分) DATA SEGMENT BUFFER DB 5 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA DIV BX ADD DL,30H MOV [SI],DL DEC SI INC CX MAIN:MOV AX,DATA MOV DS,AX MOV AL,1 GOON:MOV AH,0 CALL OUTPUT SAL AL,1 JNC GOON MOV AH,4CH INT 21H OUTPUT PROC PUSH AX PUSH BX LEA SI,BUFFER+4 MOV BX,10 MOV CX,0 NEXT:MOV DX,0 第 5 页CMP AX,0 JNE NEXT SHOW:INC SI MOV DL,[SI] MOV AH,2 INT 21H LOOP SHOW MOV DL," " MOV AH,2 INT 21H POP BX POP AX RET OUTPUT ENDP CODE ENDS END MAIN

三、编写程序,从键盘输入两个字符串,比较它们是否相同。如果相同,则在屏幕上显示字母“Y”;如果不同,则在屏幕上显示字母“N”。(本题15分) 第 6 页

四、编写程序,请定义一个字节数组,其中所有的元素均为带符号数,数组的长度(元素个数)至少为10。要求在主程序中使用INT 60H调用中断服务程序INTSORT对数组各元素按从小到大的顺序排列,并且主程序使用寄存器BX和DX向中断服务程序传送数组的起始地址和长度。(本题20分) 第 7 页

五、假设8254的四个端口地址分别为3F8H~3FBH。现在要求计数器0工作在方式0,计数初值为5000,按二进制计数;计数器1工作在方式1,计数初值为200,按BCD码计数;计数器2工作在方式3,计数初值为160,按二进制计数。请分别写出对该8254三个计数器初始化的程序段以及读取计数器0当前值的程序段,要求把读出结果保存到寄存器AX中。(本题15分) 第 8 页

附:答题时可供参考的DOS系统功能调用和接口芯片控制字/命令字 系统功能调用(INT 21H) AH 功能 调用参数 返回参数 01H 键盘输入字符并回显 AL=输入字符的ASCII码 02H 显示字符 DL=输出字符的ASCII码 07H 键盘输入字符无回显 AL=输入字符的ASCII码 DS:DX=串首地址 09H 显示字符串 字符串以“$$”结尾 DS:DX=缓冲区首地址 (DS:DX+1)=缓冲区实际接0AH 键盘输入字符串 (DS:DX)=缓冲区最多容纳字符数 收字符数 DS:DX=中断服务程序入口地址 25H 设置中断向量 AL=中断类型号 ES:BX=中断服务程序入口35H 获取中断向量 AL=中断类型号 地址 2.8259A的初始化命令字 ICW1: D7 / D6 / 不使用 标志位 D5 / D4 D3 D2 D1 D0 1 LTIM ADI SNGL IC4 1:写入ICW4 0:不写入ICW4 1:单片方式 0:级联方式 在80x86系统中无效 1:电平触发 0:边沿触发 ICW2: D7 T7 D6 T6 D5 T5 用户定义 D4 T4 D3 T3 D2 D1 D0 ID2 ID1 ID0 000:IR0 001:IR1 010:IR2 011:IR3 100:IR4 101:IR5 110:IR6 111:IR7 ICW3: D7 D6 D5 D4 D3 D2 D1 D0 S7 S6 S5 S4 S3 S2 S1 S0 Si=1:IRi接从片 Si=0:IRi接一般中断源或未使用 D7 D6 D5 D4 D3 D2 D1 D0 / / / / / ID2 ID1 ID0 ID2ID1ID0= 000:接主片IR0 001:接主片IR1 010:接主片IR2 011:接主片IR3 100:接主片IR4 101:接主片IR5 110:接主片IR6 111:接主片IR7 主片ICW3的格式 从片ICW3的格式 第 9 页

ICW4: D7 / D6 / 不使用 1:特殊完全嵌套 0:完全嵌套 0x:非缓冲 11:缓冲/主片 10:缓冲/从片 D5 D4 D3 D2 D1 D0 / SFNM BUF M/S AEOI μP 1:80x86模式 0:8080/8085模式 1:自动结束 0:非自动结束 3.8259A的操作命令字 OCW1: D7 M7 D6 M6 D5 M5 D4 M4 D3 M3 D2 M2 D1 M1 D0 M0 Mi=1:IRi的请求被屏蔽 Mi=0:IRi的请求被允许 OCW2: D7 R D6 D5 D4 0 D3 0 D2 L2 D1 L1 D0 L0 000:IR0 001:IR1 010:IR2 011:IR3 100:IR4 101:IR5 110:IR6 111:IR7 SL EOI 标志位 000:设置为固定优先级方式 001:清除ISR中优先级最高的1 010:无操作 011:清除ISR中由L2L1L0指定的1 100:设置为循环优先级方式 101:清除ISR中优先级最高的1,并且设置为循环优先级方式 110:设置为循环优先级方式,初始最低优先级由L2L1L0指定 111:清除ISR中由L2L1L0指定的1,并且设置为循环优先级方式,初始最低优先级由L2L1L0指定 OCW3: D7 D6 D5 D4 D3 1 D2 P D1 D0 / ESMM SMM 0 不使用 0x:无效 10:清除特殊屏蔽方式 11:设置特殊屏蔽方式 标志位 RR RIS 0x:无效 10:读IRR 11:读ISR 1:查询中断状态寄存器 0:无效 第 10 页

4.8255A的工作方式控制字 1 标志位 00:设置A口为方式0 01:设置A口为方式1 1x:设置A口为方式2 0:设置A口为输出 1:设置A口为输入 0:设置PC7~PC4为输出 1:设置PC7~PC4为输入 D6 D5 D4 D3 D2 D1 D0 0:设置PC3~PC0为输出 1:设置PC3~PC0为输入 0:设置B口为输出 1:设置B口为输入 0:设置B口为方式0 1:设置B口为方式1 5.8255A的C口置位/复位控制字 0 标志位 不使用 D6 D5 D4 D3 D2 D1 D0 1:将C口指定位置1 0:将C口指定位清0 000:PC0 001:PC1 010:PC2 011:PC3 100:PC4 101:PC5 110:PC6 111:PC7 6.8254的控制字 D7 D6 D5 D4 D3 D2 M1 D1 D0 SC1 SC0 RW1 RW0 M2 00:计数器0 01:计数器1 10:计数器2 11:无效 00:计数器锁存 01:只读/写计数器的低字节 10:只读/写计数器的高字节 11:先读/写计数器的低字节,后读/写计数器的高字节 M0 BCD 0:按二进制计数 1:按BCD码计数 000:方式0 001:方式1 x10:方式2 x11:方式3 100:方式4 101:方式5 7.8254的读回命令 D7 1 D6 1 D5 D4 D3 D2 D1 D0 0 1:选择计数器0 标志位 1:选择计数器1 1:选择计数器2 0:锁存状态信息 0:锁存计数值 COUNT STATUS CNT2 CNT1 CNT0 第 11 页

8.8237A工作方式寄存器 D7 D6 D5 D4 D3 D2 D1 D0 00:请求传送 01:单字节传送 10:块传送 11:级联传送 0:地址加1 1:地址减1 0:禁止自动初始化 1:允许自动初始化 00:通道0 01:通道1 10:通道2 11:通道3 00:检验传送 01:写传送(I/O到存储器) 10:读传送(存储器到I/O) 11:无操作 9. 8237A控制寄存器 D7 0:DACK低电平有效 1:DACK高电平有效 0:DREQ高电平有效 1:DREQ低电平有效 0:滞后写 1:扩展写 0:固定优先权 1:循环优先权 D6 D5 D4 D3 D2 D1 D0 0:禁止存储器到存储器传送 1:允许存储器到存储器传送 0:通道0地址不保持 1:通道0地址保持不变 0:允许8237A操作 1:禁止8237A操作 0:正常时序 1:压缩时序 10.8237A请求寄存器 D7 D6 D5 不使用 0:无DMA请求 1:有DMA请求 D4 D3 D2 D1 D0 00:通道0 01:通道1 10:通道2 11:通道3 11.8237A单通道屏蔽字 D7 D6 D5 不使用 0:允许DMA请求 1:屏蔽DMA请求 D4 D3 D2 D1 D0 00:通道0 01:通道1 10:通道2 11:通道3 第 12 页

12.8237A四通道屏蔽字 D7 D6 D5 D4 D3 D2 D1 D0 不使用 0:清除通道3屏蔽位 1:设置通道3屏蔽位 0:清除通道2屏蔽位 1:设置通道2屏蔽位 0:清除通道0屏蔽位 1:设置通道0屏蔽位 0:清除通道1屏蔽位 1:设置通道1屏蔽位 13.8237A状态寄存器 D7 1:通道3有请求 1:通道2有请求 1:通道1有请求 1:通道0有请求 D6 D5 D4 D3 D2 D1 D0 1:通道0终止计数 1:通道1终止计数 1:通道2终止计数 1:通道3终止计数 14.8237A内部寄存器端口地址分配及读/写操作功能 通道号 0 1 2 3 A3A2A1A0 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 地 址 DMA+00H DMA+01H DMA+02H DMA+03H DMA+04H DMA+05H DMA+06H DMA+07H DMA+08H DMA+09H DMA+0AH DMA+0BH DMA+0CH DMA+0DH DMA+0EH DMA+0FH 读操作(IOR=0) 当前地址寄存器 当前字节计数器 当前地址寄存器 当前字节计数器 当前地址寄存器 当前字节计数器 当前地址寄存器 当前字节计数器 状态寄存器 暂存寄存器 写操作(IOW=0) 基本(当前)地址寄存器 基本(当前)字节计数器 基本(当前)地址寄存器 基本(当前)字节计数器 基本(当前)地址寄存器 基本(当前)字节计数器 基本(当前)地址寄存器 基本(当前)字节计数器 控制寄存器 请求寄存器 单通道屏蔽寄存器 方式寄存器 清除先/后触发器 主清除(软件复位) 清除屏蔽寄存器 四通道屏蔽寄存器 公用 第 13 页

大连微网站开发