汇编语言复习资料:05-06年试题与答案解析

需积分: 9 2 下载量 84 浏览量 更新于2024-09-22 收藏 52KB DOC 举报
"这是一份关于汇编语言的考试复习资料,包含了2005-2006学年的试题及答案,旨在帮助学生巩固汇编语言知识,特别是对于指令系统、寻址方式、数据转换以及子程序调用等方面进行复习。" 在汇编语言学习中,了解和掌握基本的数字转换至关重要。例如,题目中提到,十进制数369转换为二进制是101110001,转换为十六进制则是171。这涉及到不同进制之间的转换规则。 计算机指令由两部分组成:操作码和地址码。操作码指示要执行的操作,地址码则指向操作数的位置。例如,8086处理器的地址总线有20根,使得其寻址范围达到1M(2^20)字节。指令执行的流程中,下一条指令的地址通常存储在指令指针寄存器(IP)中。 IBM PC机在子程序返回时会使用不同的指令,如RET、IRET和IRETD,分别对应普通子程序、中断子程序和中断子程序(在保护模式下)的返回。 汇编语言源程序首先需要通过汇编器进行汇编,生成目标代码,然后通过链接器链接,最终形成可执行文件。在这个过程中,汇编程序处理源代码中的符号和指令,而连接程序负责处理外部引用和定位代码。 存储器的地址通常包括段地址和偏移地址,如2314H:4132H,偏移地址为4132H,物理地址为段地址和偏移地址相乘再加偏移地址,即2314H * 16 + 4132H = 27272H。REP指令前缀常与循环指令如MOVCX, COUNT [DX], [DI]配合使用,实现重复执行。 DEBUG工具提供了D和E命令,分别用于查看和修改内存内容。在处理AL寄存器时,可以通过AND和XOR指令来改变或屏蔽其中的位,如ANDAL, 3FH用于屏蔽低4位,XORAL, 3FH则用于翻转低4位。 宏汇编语言适用于编写短小但参数众多的子功能段,它允许定义宏并在代码中重复使用,以提高代码的复用性和可读性。 选择题部分涉及了各种汇编语言概念,如有符号数的补码表示、数值比较、寻址方式、中断处理、条件转移指令以及数据定义。例如,字长为16位时,7AE9H的补码表示为原码本身(D选项)。在比较有符号数3260H和0B425H时,前者更大(C选项)。JMP指令跳转到由[BX][DI]指定的地址,即16dx(ES) + (BX) + (DI)(B选项)。在指令MOV AX, [1000H]中,源操作数采用直接寻址(B选项)。中断矢量表存放的是中断服务程序的入口地址(D选项)。8086的条件转移指令可以转移到段内任何地方(A选项)。ASCII码字符串可以用DB定义(D选项)。执行ADD AL, 0F5H后,标志位S、Z、C、O、P的状态会根据运算结果更新(C选项)。 这些题目覆盖了汇编语言的基础知识,对学习者来说是很好的练习材料,有助于深入理解和掌握汇编语言的基本概念和应用。