标题:汇编问题:统计一组数中的负数个数~~
只看楼主
hiwwr
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-4-11
结帖率:66.67%
已结贴  问题点数:10 回复次数:3 
汇编问题:统计一组数中的负数个数~~
程序代码:
.486
DATA SEGMENT USE16
BUF DB -19,28,37,-46,55,61,-70,255
DATA ENDS
CODE SEGMENT USE16
     ASSUME CS:CODE,DS:DATA
BEG:   MOV AX,DATA
       MOV DS,AX
       MOV DL,0
       MOV CH,8
       MOV SI,OFFSET BUF
AGAIN: CMP BYTE PTR [SI],0
       JAE REPT
       INC DL
REPT:  INC SI
       INC SI
       LOOP AGAIN
       ADD DL,30H
       MOV AH,2
       INT 21H
       MOV AH,4CH
       INT 21H
CODE ENDS
     END BEG
统计8个数中的负数个数,
但执行结果为0
请问谁可以帮我修改一下?
谢谢~
搜索更多相关主题的帖子: 负数 汇编 统计 
2010-04-21 21:18
hiwwr
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-4-11
得分:0 
没人?自己先顶一下~~
2010-04-21 22:14
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
得分:10 
BEG:   MOV AX,DATA
       MOV DS,AX
       MOV DL,0
       MOV CX,8
       LEA SI,BUF
AGAIN:
    MOV AL,DS:[SI]
    INC SI
    CALL _A
       CMP AL,0
       JE  _REPT
       INC DL
_REPT:
       LOOP AGAIN
       ADD DL,30H
       MOV AH,2
       INT 21H
       MOV AH,4CH
       INT 21H
_A:
       PUSH CX
       MOV CL,7
       SHR AL,CL
       POP CX
       RET
END BEG
好久不玩汇编了!
结果是4吧,因为255在8位中只能算是负数,这是补码中说的.
判断负数的方法是它是最高位是否为1啊.
2010-04-21 23:29
hiwwr
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-4-11
得分:0 
回复 3楼 ONEPROBLEM
真是太感谢了~~高人啊~~小弟刚学汇编,还请以后多多指教~~
2010-04-23 21:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-303932-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.543928 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved