填空题 下面的汇编语言源程序经汇编后,发现TEST[BX],01H指令有语法错误,试问该指令的正确形式应该是{{U}} 【6】 {{/U}}   DSEG   SEGMENT   DAT    DB         5,13,4,-2,6,23,44,-1,29,-3   CNT    DW         $-DAT   DSEG    ENDS   SSEG    SEGMENT       STACK         DB          256DUP(0)   SSEG    ENDS   CSEG    SEGMENT         ASSUME        DS:DSEGSS:SSEGCS:CSEG   START   PROC         FAR   PUSH    DS         XOR         AX,AX         PUSH        AX         MOV         AX,DSEG         MOV         DS,AX         XOR         AX,AX         MOV          BX,OFFSET DAT         MOV         CX,CNT   LP:    TEST        [BX],01H         JZ         NEXT         INC         AH         ADD        AL,[BX]   NEXT:   INC        BX         LOOP        LP         RET   START   ENDP   CSEG    ENDS         END         START
  • 1、
【正确答案】 1、TEST BYTE PTR[BX],01H或TEST DAT[BX],01H    
【答案解析】【解析】该程序的功能是判断数据区内所有数据的奇偶,将奇数的个数存放在AH中,并将所有的奇数求和,结果放在AL中。因为在数据段既有DB类型的变量,也有DW类型的变量,指令TEST[BX],01H不能确定使用哪一种类型,所以需要指定[BX]的属性,所以正确的写法应该是:TEST BYTE PTR[BX],01H。