首师大汇编编程复习题集精华

需积分: 15 1 下载量 16 浏览量 更新于2024-09-10 收藏 65KB DOC 举报
本资源是一份针对首都师范大学信息技术学科的汇编复习题集,主要涵盖了计算机汇编语言的基础概念和指令理解。这份复习题旨在帮助学生巩固在课程中学习的汇编语言基础知识,包括: 1. **程序段划分** - 应用程序的基本结构包含代码段(A)、数据段、堆栈段和附加段,其中可执行指令应保存在代码段。 2. **补码扩展** - 8位补码F3H扩展成16位保持真值不变,需要将最高位填充为1,所以答案是D) FFF3H。 3. **寻址方式** - 指令"mov[ebx+8],eax"采用的是寄存器相对寻址方式(C)。 4. **标志位操作** - "sarebx,1"可能导致ebx的最高位D31变为1(D)。 5. **跳转指令** - 在代码段内的小范围跳转使用SHORT类型名(C)表示。 6. **汇编过程** - 汇编后的结果不直接生成可执行的EXE文件(C),而是可能生成OBJ、LST或CRF文件。 7. **指令操作数位置** - ADD指令中,操作数可以放在一个主存储单元和一个数据寄存器(B/C),但不能同时在两个主存储单元(A)。 8. **标志位状态** - cmp指令比较后,标志位CF和OF的状态由具体操作决定,题目中没有给出具体结果,但选项C(1,0)是最常见的比较结果之一。 9. **内存地址计算** - push指令后,新的ESP值减去偏移量得到物理地址,因此存放数据07h的地址是001200fc(C)。 10. **标志寄存器影响** - jmp、shl、call和notea指令中,只有shl(左移)会改变标志位,其他不会。 11. **符号扩展** - MOV指令执行后,CL的高位扩展到DX,由于CL=98H,扩展后DX为FF98H(D)。 12. **缓冲区定义** - 要预留9个字节存储空间,且使用DB指令(无数组长度的定义),选项C"BUFDB9"正确。 13. **标志位清零** - AND指令执行后,CF和OF会被清零,因为AND操作符会清除所有标志位(A)。 14. **错误指令** - C) dec[ebx]错误,因为ebx需要先解址后才能减1,直接写入[]是错误的。 15. **条件转移** - 测试BL是否等于4FH,用XOR指令清零后与4FH进行异或,如果相等,BL会被置零,然后跳转至NEXT(A)。 这份复习题提供了丰富的汇编语言实践题目,适合准备参加首都师范大学相关考试或者希望通过练习提升汇编技能的学生使用。通过解答这些题目,学生可以加深对指令操作的理解,提高编程技能。