| 2003年4月三级PC技术试题分析——汇编语言选择题(上) |
|
作者:佚名 责任编辑:左决 点击数: 更新时间:2008-2-19 0:47:11 |
19. 假设(AL)=0FFH依次执行ADD AL0FH指令后,标志位ZF和SF的状态分别为 (A)0和0 (B)0和1 (C)1和0 (D)1和1 答案:A 分析:1. ADD和AND指令对标志位均能产生影响,两条指令依次执行,所以看后一条指令对ZF和SF的影响。 2. ADD AL,12指令执行后结果为(AL)=0BH(注意:该指令中的立即数12为十进制数,所以要变为十六进制数后与AL中的0FFH相加)。 3. AND指令能实现给特定位清零的功能,该指令中逻辑“与”常数为0FH,所以该指令对高4位清零,运算结果为(AL)=0BH,SF标志位为符号标志位,当运算结果最高位为0,SF=0,结果的最高位为1时,SF=1。ZF为零标志位,运算结果为0则ZF=1,结果非0则ZF=0,本题运算结果,为最高位为0的非0数据,所以SF=0,ZF=0。 20. 执行下列哪一条指令后,就能用条件转移指令判断AL和BL寄存器中的最高位是否相同? (A)TEST ALBL (B)CMP ALBL (C)AND ALBL (D)XOR ALBL 答案:D 分析:异或运算指令功能为:目的操作数和源操作数按位进行异或运算,对应位相同,该位的运算结果为0,否则为1。执行XOR AL,BL后当AL和BL寄存器中最高位相同时,将影响SF=0,不同时影响SF=1,因此执行了XOR AL, BL后可以用条件转移指令判断AL和BL寄存器中的最高位是否相同。 21. 若有BUF DW 1234,则可将数据02H取到AL寄存器中的指令是: (A)MOV ALBYTE PTRBUF+1 (B)MOV ALBYTE PTRBUF+2 (C)MOV ALBYTE PTRBUF+3 (D)MOV ALBYTE BUF2 答案:B
分析:DW定义字伪指令为每个操作数分配两个存储单元, BUF DW 1,2,3,4指令定义的存储单元分配情况如图: 02H所在存储单元相对BUF单元位移量为2,所以将02H取到AL寄存器中的指令是MOV AL,BYTE PTR[BUF+2]。 |
|