鱼C论坛

 找回密码
 立即注册
查看: 3758|回复: 1

统计负数的个数,并求最大数和最小数以二进制形式输出

[复制链接]
发表于 2021-10-14 15:07:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
DATA  SEGMENT USE16
NUM   DB -19,+28,37,-46,+55,61,-74,+255
COUT1 DB  ?,0DH,0AH,'$'
COUT2 DB 0AH,'MAX=',?,0DH,0AH,'$'
COUT3 DB 0AH,'MIN=',?,0DH,0AH,'$'
DATA  ENDS

CODE SEGMENT USE16
         ASSUME CS:CODE,DS:DATA
         
BEG: mov AX,DATA
         MOV DS,AX
         MOV SI,OFFSET NUM
         MOV CX,8
         MOV BX,0
         MOV DL,0
         
COM: CMP BYTE PTR[SI],0
         JGE ZHE;大于等于0跳转
         INC DL ;DL记录负数的个数
         CMP BYTE PTR[SI],BL;小于0的数存放在BL中
         JLE FINDMIN
         
ZHE: CMP BYTE PTR[SI],BH;大于等于0的数存放在BH中
         JGE FINDMAX
         ADD DL,30H;输出负数个数的十进制数
         MOV AH,9
         mov COUT1,DL
         MOV DX,OFFSET COUT1
         INT 21H
         MOV AH,9
         MOV DX,OFFSET COUT2
         INT 21H
         MOV CX,8
COUTMAX: MOV DL,'0'
                 MOV AH,2
                 ROL BH,1
                 ADC DL,0
                 INT 21H
                 LOOP COUTMAX
                 MOV DL,'B'
                 MOV AH,2
                 INT 21H
                 MOV AH,9
                 MOV DX,OFFSET COUT3
                 INT 21H

                 MOV CX,8
COUTMIN: MOV DL,'0'
                 MOV AH,2
                 ROL BL,1
                 ADC DL,0
                 INT 21H
                 LOOP COUTMIN
                 MOV DL,'B'
                 MOV AH,2
                 INT 21H
                 MOV AH,4CH
                 INT 21H

FINDMIN: MOV BL,BYTE PTR[SI]
                INC SI
                LOOP COM
FINDMAX:MOV BH,BYTE PTR[SI]
                INC SI
                LOOP COM
                
CODE  ENDS
          END BEG



+255被当作-1处理了,怎么改啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-14 18:23:02 | 显示全部楼层
一个字节表示不了有符号数的 255,换两个字节试试
db 改 dw
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 22:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表