DATAS SEGMENT BUF DB 12,-12,13,-13,1,2 COUNT DB ? DATAS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS MOV DS,AX MOV CX,6 ;循环控制次数 LEA BX,BUF ;设置缓冲区指针 XOR DL,DL ;统计计数器清零 NEXT: MOV AL,[BX] ;取数据 ADD AL,0 ;做运算,影响标志 JS NEGA ;是负数,转移 INC DL ;是正数,统计加1 NEGA: INC BX ;移动指针 LOOP NEXT ;循环控制 MOV COUNT,DL;保存统计结果 MOV AH,4CH INT 21H CODES ENDS END START
验证结果:
可以看到DX的值为0004,刚好是4个正数