汇编语言:基于8088/8086
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