统计存放在数据区的N个数据正、负数的个数,并最后把个数显示出来。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
DATA SEGMENT DAT DB 5,4,3,2,-1,-2,7,8,0,1 N EQU $-DAT T1 DB 0 T2 DB 0 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV CX,N ;确定循环次数 MOV SI,0 COMP: MOV AL,[DAT+SI] CMP AL,0 JG NEXT ;不小于且不等于,或者大于时实现转移 CMP AL,0 JL MINUS ;小于,或者不大于且不等于时转移 JMP LOP NEXT: INC T1 JMP LOP MINUS: INC T2 LOP: INC SI LOOP COMP MOV DL,T1 ;这是用来打印正数的个数 ADD DL,30H MOV AH,2H INT 21H ;MOV AH,2H ;这开始的几行是用来换行的 MOV DL,0DH INT 21H MOV DL,0AH INT 21H MOV DL,T2 ;这是用来打印负数的个数 ADD DL,30H MOV AH,2H INT 21H MOV AH,4CH INT 21H CODE ENDS END START |