汇编模块化处理
来源:互联网 发布:淘宝申请品牌材料 编辑:程序博客网 时间:2024/05/16 14:30
;**********************************************************************
TITLE 整数求和
;**********************************************************************
;**********************************************************************
;*程序运行平台要求
.386
.model flat,stdcall
option casemap:none
;**********************************************************************
;**********************************************************************
;文件包含
INCLUDE Irvine32.inc
;**********************************************************************
;**********************************************************************
;宏定义部分
INTEGER_COUNT=5;
;**********************************************************************
;**********************************************************************
;数据段定义
.data
str1 byte "please Enter a integer",0dh,0ah,0
str2 byte "the sum of the input is",0
arrayByte byte INTEGER_COUNT DUP(0)
;**********************************************************************
;**********************************************************************
;代码段定义
.code
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;函数定义:显示提示信息,请用户输入
;函数参数:使用edx作为局部变量
WarnDis proc USES edx
mov edx,offset str1;
call WriteString;
ret
WarnDis endp
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;函数定义:给全局变量数组从用户输入处,进行赋值
;函数参数:esi ecx ebx
InputArray PROC USES esi ecx ebx
mov esi,offset arrayByte;
mov ebx,0
mov ecx,length arrayByte;
LInput:
call ReadInt
mov [esi+ebx],eax
inc ebx
loop LInput
ret
InputArray endp
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;函数定义:对数组进行求和过程
;函数参数:esi ecx ebx
Sum proc uses esi ecx ebx
mov esi,offset arrayByte;
mov ecx,length arrayByte
xor eax,eax
mov ebx,0
LSum:
mov dl,[esi+ebx]
add al,dl
;检测是否有进位发生
JC cfProc
JMP final
cfProc:
inc ah;
final:
inc ebx
loop LSum;
ret
Sum endp
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
main proc
call WarnDis
call InputArray
call Sum
call WriteInt
exit
main endp
end main
;**********************************************************************
TITLE 整数求和
;**********************************************************************
;**********************************************************************
;*程序运行平台要求
.386
.model flat,stdcall
option casemap:none
;**********************************************************************
;**********************************************************************
;文件包含
INCLUDE Irvine32.inc
;**********************************************************************
;**********************************************************************
;宏定义部分
INTEGER_COUNT=5;
;**********************************************************************
;**********************************************************************
;数据段定义
.data
str1 byte "please Enter a integer",0dh,0ah,0
str2 byte "the sum of the input is",0
arrayByte byte INTEGER_COUNT DUP(0)
;**********************************************************************
;**********************************************************************
;代码段定义
.code
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;函数定义:显示提示信息,请用户输入
;函数参数:使用edx作为局部变量
WarnDis proc USES edx
mov edx,offset str1;
call WriteString;
ret
WarnDis endp
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;函数定义:给全局变量数组从用户输入处,进行赋值
;函数参数:esi ecx ebx
InputArray PROC USES esi ecx ebx
mov esi,offset arrayByte;
mov ebx,0
mov ecx,length arrayByte;
LInput:
call ReadInt
mov [esi+ebx],eax
inc ebx
loop LInput
ret
InputArray endp
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;函数定义:对数组进行求和过程
;函数参数:esi ecx ebx
Sum proc uses esi ecx ebx
mov esi,offset arrayByte;
mov ecx,length arrayByte
xor eax,eax
mov ebx,0
LSum:
mov dl,[esi+ebx]
add al,dl
;检测是否有进位发生
JC cfProc
JMP final
cfProc:
inc ah;
final:
inc ebx
loop LSum;
ret
Sum endp
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
main proc
call WarnDis
call InputArray
call Sum
call WriteInt
exit
main endp
end main
;**********************************************************************
- 汇编模块化处理
- struts2 login登陆模块化处理
- jquery中的ajax模块化处理
- 如何用汇编写51单片机程序之模块化程序
- 8086汇编 模块化程序设计-批量数据的传递
- 内联汇编。出错处理
- 汇编~~~~~~~~~中断处理程序
- 汇编字符串处理指令
- 汇编中断处理
- js模块化之模块依赖处理
- MeVisLab模块化医学图像处理可视化软件
- 设置其他接口,按模块化处理
- 模块化
- 模块化
- 模块化
- 模块化
- 模块化
- 模块化
- 阿拉伯数字转化成人民币大写程序
- 以http方式实现文件上传 工具类demo
- Word 中查找下一处快捷键
- 黑马程序员_线程间的通信
- 做程序员之后才知道的 5 件惊奇事
- 汇编模块化处理
- 常用svn命令
- 解析百度推广是由哪三部分组成
- 揭密百度百科怎样能够提高通过率的窍门
- ubuntu14.04中文输入法问题,解决gvim不能输入中文
- FusionCharts插件及简单事例源码
- C/C++ Memory Layout
- (WPF)360安全卫士9.0界面制作过程
- JAVA CPU,IO 消耗分析