汇编中数组的加法运算-包含进位
来源:互联网 发布:粉笔软件下载事业单位 编辑:程序博客网 时间:2024/06/11 22:07
TITLE 数组求和
;***************************************************************
;***************************************************************
;*程序的运行环境,最低环境是386,数据段和代码段公用4GB空间,函数
;*是stdcall的调用方式,大小写敏感
.386
.model flat,stdcall
option casemap:None
;***************************************************************
;***************************************************************
;*文件包含
INCLUDE Irvine32.inc
;***************************************************************
;***************************************************************
;*数据段定义
.data
arrayB byte 0F0h,0F0h,30h
arrayBLength byte $-arrayB
;***************************************************************
;***************************************************************
;*代码段
.code
main proc
;*ebx清空,存放结果
xor ebx,ebx
;*将自动计数器清空
xor ecx,ecx
;*获得数组长度
mov cl,arrayBLength;
;*数组索引应该是长度-1,作为指向数组中最后一个元素
dec cl;
mov esi,offset arrayB;
SumOut:
mov al,[esi+ecx]
;*取数组元素
add bl,al;
;如果产生了进位则要进行进位
jc L1;
jmp L2;
L1:
inc bh;
L2:
loopd SumOut;
;因为当cx是1的时候不再执行,也就是说第一个元素没有计算到
add bl,[esi];
jc L3;
jmp L4;
L3:
inc bh
L4:
invoke DumpRegs
exit
main endp
end main
;***************************************************************
另一个数组运算程序
;************************************************************************
;*程序运行平台要求
.386
.model flat,stdcall
option casemap:none
;************************************************************************
;************************************************************************
;*包含文件
INCLUDE Irvine32.inc
INCLUDELIB kernel32.lib
INCLUDELIB user32.lib
INCLUDELIB msvcrt.lib
;************************************************************************
;************************************************************************
;*数据段定义
.DATA
source BYTE "123456789",0
target BYTE 10 DUP(0)
;************************************************************************
;************************************************************************
;*代码段定义
.code
main proc
;*目的地址的索引值
MOV edi,0
MOV ecx,sizeof source
dec ecx
L1:
MOV al,source[edi];
MOV target[edi],al;
INC edi;
loopw L1;
mov edx,offset target
invoke printf,edx;
invoke ExitProcess,0
main endp
end main
;************************************************************************
- 汇编中数组的加法运算-包含进位
- 大数的加法 进位
- 实现进位的加法算法
- 加法进位
- 汇编的进位与溢出
- 汇编的进位与溢出
- HDU 4588--二进制的加法进位统计
- 数组运算(加法)
- 先行进位加法
- 加法进位次数
- C++编程->汇编内联实现加法运算
- java小练习(二维数组的一种加法运算)
- 虚数的加法运算
- 整数的加法运算
- jQuery的加法运算
- 矩阵的加法运算
- jQuery的加法运算
- 指针的加法运算
- 想去做个独立博客。。
- 黑马程序员-Java基础-集合类总结
- 程序员是“逻辑人”
- 《机房收费系统》 之 自动结账
- 解析表达式
- 汇编中数组的加法运算-包含进位
- java学习08-getter & setter
- [Ant][StartWithAnt] 第七章 Ant扩展包ant-contrib的使用
- 小馋猫所感
- Max Points on a Line LEETCODE
- SQL Server2008 无法连接到 local
- IOS-app上线准备工作
- OpenCV_图像元素处理常用函数
- jQuery Mobile入门教程——主题的使用和定制