编程统计BUF内存区若干个有符号数中正数、负数、零的个数并保存到相对应的结果单元。

DATA SEGMENT
    BUF DB 10,20,0,0,0,-10,-20,-30,-40,-50
    COUNT EQU $-BUF
    ZS_COUNT DB 0
    FS_COUNT DB 0
    LS_COUNT DB 0
DATA ENDS
CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
      MOV DS,AX
      MOV BX,OFFSET BUF
      MOV CX,COUNT 
      XOR DL,DL;初始化正数个数
      XOR DH,DH;初始化负数个数
      XOR AH,AH;初始化零的个数
AGAIN:MOV AL,[BX]
      CMP AL,0
      JG ZS;如果是正数,则跳转
      JL FS;如果是负数,则跳转
      INC AH
      JMP NEXT
   ZS:INC DL
      JMP NEXT
   FS:INC DH 
 NEXT:INC BX
      LOOP AGAIN
      MOV ZS_COUNT,DL;保存正数结果
      MOV FS_COUNT,DH;保存负数结果
      MOV LS_COUNT,AH;保存零的结果
      MOV AH,4CH
      INT 21H
CODE ENDS
    END START
发布了66 篇原创文章 · 获赞 1 · 访问量 938

猜你喜欢

转载自blog.csdn.net/qq_38490457/article/details/104560996