首页 > 编程语言 >汇编模块化处理

汇编模块化处理

时间:2023-04-03 17:42:21浏览次数:33  
标签:汇编 处理 模块化 mov ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

;**********************************************************************

 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

 ;**********************************************************************

标签:汇编,处理,模块化,mov,++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
From: https://blog.51cto.com/u_15995156/6166877

相关文章

  • 汇编小程序
    ;***********************************************************;*性能度量;***********************************************************;***********************************************************;*程序运行平台.386.MODELFLAT,STDCALLOPTIONCASE......
  • 汇编中数组的加法运算-包含进位
    ;***************************************************************TITLE数组求和;***************************************************************;***************************************************************;*程序的运行环境,最低环境是386,数据段和代......
  • 我的第一个win32汇编程序
    .386.ModelFlat,stdcalloptioncasemap:none;头文件包含includewindows.incincludekernel32.incincludelibkernel32.libincludeuser32.incincludelibuser32.libincludegdi32.incincludelibgdi32.lib;数据段定义.datahInstancedd......
  • 汇编延时输出随机数
    ;***********************************************************************;TITLE生成20个随机数;***********************************************************************;***********************************************************************;程序运行......
  • 软件加壳输入表处理-解析
    本篇博文说下PE文件中输入表的格式和具体的使用,以及在软件加壳中的注意事项(本人菜鸟),高手飘过IMAGE_IMPORT_DESCRIPTORSTRUC{unionCharacteristicsDWORDOriginalFirstThunkDWORDendsTimeDateStampDWORDForwardChainDWORDNameD......
  • win32汇编语言学习之二
        对于汇编语言来说win32环境中只有一种类型,那就是32位整数,例如MessageBoxA的四个参数HWND,LPCTSTR,LPCTSTR,UINT之所以定义成不同的摸样主要是为了说明其用途,我们在汇编环境下调用MessageBoxA时,DOS状态下会是这样的:  pushuType  pushlpCaption  pushlpText ......
  • 解决java注解处理器生成的方法,在编译时报错“找不到符号”
    我的注解处理器,添加的其中一个方法中有一段AST代码如下:JCTree.JCFieldAccessobjectsIsNull=maker.Select(maker.Ident(names.fromString("java.util.Objects")),names.fromString("isNull"));JCTree.JCIfifExpr1=maker.If(maker.Apply(List.nil(),objectsI......
  • jmeter同线程、跨线程 cookie的处理
    一、同一个线程内,推荐使用cookie管理器自动获取在登录之后添加HTTPCookie管理器,会自动记录cookie并且在之后的请求中,自动将保存的cookie信息加上cookie管理器里,什么都不用修改登录superman之后,进行创建普通用户,会发现cookie的数据已经自动填充但是我这个还是报错了,是为啥?......
  • Oracle11G安装在Linux7.下版本上BUG处理
    1.Java页面框无法拖拽拉伸,需要加上jre环境变量./runInstaller-jreLoc/usr/lib/jvm/jre-1.8.02.安装执行到68%左右时报错解决方法:cd$ORACLE_HOME/sysman/libcpins_emagent.mkins_emagent.mk.bakviins_emagent.mk搜索:/NMECTL后面加上-lnnz11继续安装即可......
  • Python 自动化指南(繁琐工作自动化)第二版:十九、处理图像
    原文:https://automatetheboringstuff.com/2e/chapter19/如果你有一台数码相机,或者即使你只是从手机上传照片到脸书,你可能会一直碰到数码图像文件。你可能知道如何使用基本的图形软件,如微软的画图或Paintbrush,甚至更高级的应用,如AdobePhotoshop。但是如果你需要编辑大量的图......