ccidnet????

出版日期:2004-4-19  总期号:564 本年期号:14

本期导读
综合报道
硬件世界
网络新时空 
整机与数码
软件与应用
教育信息化
培训与职场 
读者俱乐部 
中国教育信息化 
2003年4月三级PC技术试题分析
——汇编语言选择题(上)
纪丽莉

  19. 假设(AL)=0FFH依次执行ADD AL0FH指令后,标志位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 ALBL (B)CMP ALBL (C)AND ALBL (D)XOR ALBL

  答案:D

  分析:异或运算指令功能为:目的操作数和源操作数按位进行异或运算,对应位相同,该位的运算结果为0,否则为1。执行XOR AL,BL后当AL和BL寄存器中最高位相同时,将影响SF=0,不同时影响SF=1,因此执行了XOR AL, BL后可以用条件转移指令判断AL和BL寄存器中的最高位是否相同。

  21. 若有BUF DW 1234,则可将数据02H取到AL寄存器中的指令是:

  (A)MOV ALBYTE PTRBUF+1

  (B)MOV ALBYTE PTRBUF+2

  (C)MOV ALBYTE PTRBUF+3

  (D)MOV ALBYTE BUF2

  答案:B


  分析:DW定义字伪指令为每个操作数分配两个存储单元, BUF DW 1,2,3,4指令定义的存储单元分配情况如图:

  02H所在存储单元相对BUF单元位移量为2,所以将02H取到AL寄存器中的指令是MOV AL,BYTE PTR[BUF+2]。