哈工大2012汇编考试试题解析

需积分: 0 0 下载量 8 浏览量 更新于2024-09-18 收藏 131KB DOC 举报
"哈工大汇编考试2012年的试卷内容" 该资源涉及的知识点主要包括以下几个方面: 1. **中断处理**: - 外部硬件中断处理子程序通常在执行完当前指令后,由中断控制器触发,在随机的位置被执行,选项C正确。 - CPU在执行中断服务程序时,会保存断点信息,如CS、IP和标志寄存器,但不包括SP(堆栈指针),选项B错误。 2. **编程语言与汇编语言的对应关系**: - C语言编译后可能会生成1-N条汇编指令,反之亦然,选项A和C正确,B错误。 - 汇编语言和C语言可以通过特定方式互相调用,但C语言不能直接调用ASM语句,反之可以,D选项部分正确。 3. **端口访问**: - 端口访问通常使用IN和OUT指令,选项A正确。 - 可以通过立即数IMM8或寄存器DX来指定端口号,选项B正确。 - 端口通常是只读或只写的,而不是像内存那样既可以读又可以写,选项C错误。 - 一个端口可以映射到接口电路内的多个物理寄存器,选项D正确。 4. **寻址方式**: - 立即数寻址方式中,数值直接在指令中给出,不依赖于任何段,选项A正确,B、C、D错误。 5. **时钟中断**: - 微型机的时钟中断通常每秒发生一次,选项A正确。 - 它是由CPU内部的定时器自动产生的,选项B错误,因为应该是CPU外部的时钟源触发。 - 中断发生时,CPU会执行中断子程序,选项C正确。 - BIOS会在特定内存位置记录中断次数,选项D正确。 6. **接口概念**: - 接口是指CPU、RAM和外设之外的部分,负责通信和控制,选项A正确,B、C、D错误。 7. **指令系统**: - 传送指令示例中,只有PUSH ESP是正确的,因为它将ESP寄存器的值压入堆栈,其他选项均不符合汇编语法。 - MOV CS,1000H改变代码段寄存器是非法的,B选项错误。 - INC [1122H]尝试增加存储在1122H地址的值,但不合法,因为直接对存储器使用INC,C选项错误。 - XCHG [1000],[2000]交换两个内存地址的值,但不支持直接交换两个内存位置,D选项错误。 8. **编程环境**: - 在Visual Studio下,汇编语言编程通常在32位保护模式(或FLAT模式)下进行,不支持虚拟86模式,D选项错误。 - 头文件包含名字或类型定义、结构和子程序声明,但通常不直接包含子程序的实现,D选项正确。 9. **invoke指令**: - invoke是MASM汇编中的宏指令,用于调用C语言风格的函数,不是硬指令,A选项错误,B选项正确。 - 宏指令invoke可以接受可变参数,C选项正确。 - 可以传递变量或寄存器作为参数,D选项正确。 10. **调试与内存查看**: - 在Visual Studio中,查看数组所有元素时,需输入数组的内存地址,即&Buf,B选项正确。 11. **转移指令**: - 短转移指令可能不完整,如题目所示的"13FD"可能表示JMP short指令的一部分,但不足以构成完整的指令。 这些知识点涵盖了汇编语言的基础,如中断处理、寻址方式、指令系统、接口概念、编程环境和调试技巧。掌握这些内容对于理解和编写汇编语言程序至关重要。