注册 登录
编程论坛 汇编论坛

一段统计负数个数的代码,求助

hiwwr 发布于 2010-04-28 21:41, 592 次点击
程序代码:
.486
DATA           SEGMENT        USE16
BUF            DW -19,28,37,-46,55,61,-70,255
COUNT          EQU   $-BUF
DATA           ENDS
CODE           SEGMENT        USE16
               ASSUME         CS:CODE,DS:DATA
BEG:           MOV   AX,DATA
               MOV   DS,AX
               MOV   DL,0
               MOV   CX,COUNT
               SHR   CX,1
               LEA   BX,BUF
AGAIN:         CMP   WORD PTR [BX],0
               JAE   LAST
               INC   DL
               JMP   LAST
LAST:          INC   BX
               INC   BX
               LOOP  AGAIN
               ADD   DL,30H
               MOV   AH,2
               INT   21H
               MOV   AH,4CH
               INT   21H
CODE           ENDS
               END   BEG
上述代码用来统计负数个数,我看了N多遍,觉得应该没有问题了,但执行结果始终是0,请高手指点。谢谢
1 回复
#2
ONEPROBLEM2010-04-30 07:59
偶主观上认为,LZ对于判定负数还不怎么了解
负数是用补码的最高位来判定的,并非小于0就是.
1