2011汇编语言复习题解析

版权申诉
0 下载量 130 浏览量 更新于2024-07-06 收藏 31KB PDF 举报
"这是一份关于2011年汇编语言复习的选择题和填空题,包含了汇编语言的基本概念、运算操作、标志寄存器、存储器分段、数据处理指令、逻辑运算、字符串操作以及程序结构等知识点。" 1. 汇编语言中的关系比较:题目给出了四个选项,涉及不同数值的比较,考察了二进制数与十六进制数的转换和大小比较。例如,A=0.4H(二进制0100),B=0.8H(二进制1000),C=0.4(二进制0100),D=0.4Q(不确定Q的含义,假设也是0100)。正确的比较关系是B=D。 2. 标志寄存器中的控制标志位:标志寄存器中,DF(Direction Flag)是方向标志,IF(Interrupt Flag)是中断标志,TF(Trap Flag)是陷阱标志,这些都是控制标志位。B选项正确。 3. 8088/8086存储器分段:每个段不超过64KB(即64K个字节),选项D正确。 4. 压缩型BCD码的减1操作:压缩型BCD码是四位二进制表示一位十进制数。AL中已有压缩型BCD码,减1操作可以使用DAS(Decimal Adjust After Subtraction)指令,先做SUBAL,1,再调整AL的BCD格式,DAS和AAS用于调整BCD码的加减操作后的结果。因此,正确答案是D。 5. 负数转换为正数:AX=-15,要得到AX=15,应执行NEGAX指令,该指令将AX的内容取反并加1,使得负数变为正数。 6. 传送指令MOV的影响:MOV指令不改变任何标志位,所以A选项正确。 7. 加法运算后的标志位:执行MOVAL,79H和ADDAL,0B1H后,如果79H+0B1H超过了一个字节的范围(16进制的FFH),则CF和OF都会被设置。由于79H+0B1H等于12AH,超出了字节范围,所以CF=1,OF=1,B选项正确。 8. 字相除操作:字相除时,如果AX和BX都是带符号数,需要先确保AX是正确的带符号数,可能需要扩展到DX:AX。正确的指令序列是CWD(Word to Doubleword,将AX扩展到DX:AX)和IDIVBX(除以BX,结果在AX和DX中)。 9. 操作数在代码段中的指令:只有MOVAL,42H中的42H是在代码段中,因为它是立即数。 10. REPE SCASB指令:该指令用于字符串扫描,如果CX大于0且在字符串中遇到第一个不是AL中指定的字符,扫描结束。因此,D选项正确。 11. 对源和目的操作数无影响的指令:CMPAX,BX只比较AX和BX的值,不改变它们,所以D选项正确。 12. 过程定义结束的伪指令:ENDP表示过程定义结束。 13. 语法错误的语句:DB是定义字节数据的伪指令,如果后面跟着一个字符串,应该用双引号括起来,所以A选项可能是错误的,具体要看Q的含义。 以上内容涵盖了汇编语言中的基本概念,包括数据类型、运算操作、标志寄存器、内存访问、字符串操作、程序结构等多个方面,是汇编语言学习的重要知识点。