问题 填空题

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,OFFSETDAT        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【 】

上面的汇编语言源程序经汇编后,发现TEST[BX],01H指令有语法错误,试问该指令的正确形式应该是【 】。

答案

参考答案:TESTBYTEPTR[BX],0AH或TESTDAT[BX],0AH

解析:该程序的功能是判断数据区内所有数据的奇偶,将奇数的个数存放在AH中,并将所有的奇数求和,结果放在AL中。因为在数据段既有DB类型的变量,也有DW类型的变量,指令TEST[BX],01H不能确定使用哪一种类型,所以需要指定[BX]的属性,所以正确的写法应该是:TESTBYTEPTR[BX],01H。

单项选择题 A1/A2型题
填空题