经典汇编语言教程:例6.10 分类统计字数组

例6.10 分类统计字数组

例6.10 分类统计字数组data中正数、负数和零的个数,并分别存入内存字变量Positive、Negative和Zero中,数组元素个数保存在其第一个字中。

解:
DATA1SEGMENT
dataDW 10
DW 2130, -43, 31, -321, -1234, 345, 0, 3213, 0, 5477
PositiveDW 0
NegativeDW 0
ZeroDW 0
DATA1ENDS
CODE1SEGMENT
ASSUME CS:CODE1, DS:DATA1
START:MOVAX, DATA1
MOVDS, AX
XORAX, AX;用AX来对正数计数
XORBX, BX;用BX来对负数计数
XORDX, DX;用DX来对零计数
MOVCX, data;用CX来进行循环计数
JCXZsave;考虑数组的元素个数为0的情况
LEASI, data+2;用指针SI来访问整个数组
again:CMPword ptr [SI], 0
JLlower
JEequal
INCAX
JMPloop1
lower:INCBX
JMPloop1
equal:INCDX
loop1:ADDSI, 2
LOOPagain
save:MOVPositive, AX;把各类的统计数保存到内存单元中
MOVNegative, BX
MOVZero, DX
MOVAX, 4C00H
INT21H
CODE1ENDS
END

经典汇编语言教程·相关目录

第1章 汇编语言的由来,数据类型第2章 CPU资源和存储器
第3章 操作数的寻址方式第4章 标识符和表达式
第5章 微机CPU的指令系统第6章 程序的基本结构
第7章 子程序和库第8章 输入输出和中断
第9章 宏第10章 应用程序设计
第11章 数值运算协处理器第12章 汇编语言和C语言
汇编语言重要附录Windows API函数大全
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号