8086汇编语言程序设计–已知有几个元素存放在以BUF为首址的字节存贮区中,试统计其中正元素的个数
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个正数