鱼C论坛

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

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

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

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

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

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

  7. CODE SEGMENT USE16
  8.          ASSUME CS:CODE,DS:DATA
  9.          
  10. BEG: mov AX,DATA
  11.          MOV DS,AX
  12.          MOV SI,OFFSET NUM
  13.          MOV CX,8
  14.          MOV BX,0
  15.          MOV DL,0
  16.          
  17. COM: CMP BYTE PTR[SI],0
  18.          JGE ZHE;大于等于0跳转
  19.          INC DL ;DL记录负数的个数
  20.          CMP BYTE PTR[SI],BL;小于0的数存放在BL中
  21.          JLE FINDMIN
  22.          
  23. ZHE: CMP BYTE PTR[SI],BH;大于等于0的数存放在BH中
  24.          JGE FINDMAX
  25.          ADD DL,30H;输出负数个数的十进制数
  26.          MOV AH,9
  27.          mov COUT1,DL
  28.          MOV DX,OFFSET COUT1
  29.          INT 21H
  30.          MOV AH,9
  31.          MOV DX,OFFSET COUT2
  32.          INT 21H
  33.          MOV CX,8
  34. COUTMAX: MOV DL,'0'
  35.                  MOV AH,2
  36.                  ROL BH,1
  37.                  ADC DL,0
  38.                  INT 21H
  39.                  LOOP COUTMAX
  40.                  MOV DL,'B'
  41.                  MOV AH,2
  42.                  INT 21H
  43.                  MOV AH,9
  44.                  MOV DX,OFFSET COUT3
  45.                  INT 21H

  46.                  MOV CX,8
  47. COUTMIN: MOV DL,'0'
  48.                  MOV AH,2
  49.                  ROL BL,1
  50.                  ADC DL,0
  51.                  INT 21H
  52.                  LOOP COUTMIN
  53.                  MOV DL,'B'
  54.                  MOV AH,2
  55.                  INT 21H
  56.                  MOV AH,4CH
  57.                  INT 21H

  58. FINDMIN: MOV BL,BYTE PTR[SI]
  59.                 INC SI
  60.                 LOOP COM
  61. FINDMAX:MOV BH,BYTE PTR[SI]
  62.                 INC SI
  63.                 LOOP COM
  64.                
  65. CODE  ENDS
  66.           END BEG

复制代码




+255被当作-1处理了,怎么改啊
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-10-14 18:23:02 | 显示全部楼层
一个字节表示不了有符号数的 255,换两个字节试试
db 改 dw
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-8 05:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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