1. 设STY1存储单元开始存有9个单字节带符号数,求其中正数、负数和零的个数并分别存于PM、NM、ZM存储单元。
data segment
STY1 db -1, 0, 3, 100, -999, 66, 89, 753, -258
PM db 0
NM db 0
ZM db 0
data ends
code segment
assume cs:code, ds:data
START: MOV ax, data
MOV ds, ax
lea si, STY1 ;设置指针地址
MOV cx, 9 ;设置计数器
again:MOV al, [si]
cmp al, 0 ;使用寄存器间接寻址 与0进行比较
jle next ;如果小于等于0 直接跳转next处执行
inc PM
jmp follow
next:jz zero ;如果等于0 跳转到zero处执行
inc NM
jmp follow
zero:inc ZM
follow:inc si
loop again ;loop与计数器cx是对应的
MOV AH 4ch ;返回DOS
INT 21H
code ends
end START
原文:http://www.cnblogs.com/yspworld/p/5018857.html