汇编语言考试真题与解答

需积分: 19 13 下载量 169 浏览量 更新于2024-08-02 1 收藏 80KB DOC 举报
"汇编语言考试题及答案,包含了2006年10月高等教育自学考试汇编语言程序设计试题,涉及了汇编语言的基础概念、运算指令、逻辑操作、循环控制、位操作以及寄存器使用等多个知识点。" 在汇编语言中,CPU访问存储单元的地址分为逻辑地址和物理地址。逻辑地址是指程序员编程时使用的地址,由段地址和偏移地址组成。而物理地址则是指实际内存中存储单元的地址,是CPU访问数据时使用的地址。例如,问题1指出,CPU要访问的存储单元的实际地址是物理地址,选项C正确。 存储器的地址计算涉及到段地址和偏移地址的组合。问题2中提到,如果一个存储单元的物理地址是12345H,那么它的段地址可能是1234H,因为物理地址是由16位的段地址和16位的偏移地址相加得到的,这里取了高位1234H作为段地址。选项C正确。 汇编语言中的逻辑运算指令如AND、OR、XOR和NOT,分别用于按位与、按位或、按位异或和按位非操作。问题6中,指令XORAX,AX会将AX寄存器中的内容与自身进行异或,结果是所有位都变为0,因此AX内容不变,并且会清零标志位,选项A错误。选项B和C中的操作无法实现题目所述效果,而NOTAX会将AX清0,选项D正确。 循环控制指令LoopNZ/LoopNE在CX不等于0并且ZF(零标志)不等于1时执行循环,即CX≠0且ZF=0,选项B正确。DAA指令用于调整加法运算产生的低四位BCD码,若产生高四位进位,需要手动处理,可能需要根据CF(进位标志)或AF(辅助进位标志)对AH进行操作,选项B正确。 逻辑操作如ORBH,01H会将BH中的数与01H进行按位或,使得BH中的数变为偶数或保持为偶数,不会改变其奇偶性,选项A和C会改变奇偶性,选项D不改变任何位,因此选项B错误。 关于寄存器的操作,例如SHLCL,1是左移CL寄存器的值一位,相当于乘以2,如果再执行一次,就相当于乘以4,因此选项C正确,选项B和D的组合虽然也能实现乘以4,但不是最简洁的操作。 最后,传送指令如MOV,需要注意源和目的操作数的合法性。例如,MOV[DI],[SI]是非法的,因为不能直接将存储器中的数据直接传送到另一个存储器位置,选项A错误,而MOV[DX+DI],AL是合法的,允许将AL寄存器的内容传送到由DX和DI组合的内存地址中,选项B正确。 这些题目涵盖了汇编语言的基础知识,包括地址类型、逻辑运算、循环控制、位操作以及数据传输,是学习和复习汇编语言的重要内容。