PROTO 之函数的使用
来源:互联网 发布:linux日常维护脚本 编辑:程序博客网 时间:2024/05/21 11:07
;*********************************************************************TITLE 使用函数声明交换两个整数;*********************************************************************;*********************************************************************;程序运行平台说明.386.MODEL FLAT,STDCALLOPTION CASEMAP:NONE;*********************************************************************;*********************************************************************;文件包含INCLUDE Irvine32.inc;*********************************************************************;*********************************************************************;数据段定义.DATAarrayTmp DWORD 1110H,2012HarrayLength DWORD ($-arrayTmp)/TYPE DWORD;*********************************************************************;*********************************************************************;函数声明SwapInteger PROTO,pVal:PTR DWORD;*********************************************************************;*********************************************************************;代码段定义.CODE;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;函数描述:交换arrayTmp中的前两个数字;函数参数:pVal,要交换数组的首地址SwapInteger proc uses edx,pVal:PTR DWORD mov esi,pVal; mov edx,[esi]; xchg edx,[esi+4]; mov [esi],edx ret 8SwapInteger endp;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++main proc invoke SwapInteger ,offset arrayTmp mov esi,offset arrayTmp; mov eax,[esi]; call WriteHex call Crlf mov eax,[esi+4] call WriteHex exitmain endpend main;*********************************************************************
这里要注意的是函数的声明是独立出来的,不在代码段当中,或者说他是和代码段地位平等的
还有就是利用invoke 调用的函数如果定义在调用之前,则可以不使用PROTO,但如果是调用在前,定义在后,则必须使用PROTO来进行函数声明,这是和高级语言一样的
- PROTO 之函数的使用
- JavaScript中prototype和proto的使用
- Google protobuf使用之proto文件编写规则(二)
- google protocol buffer 使用之 .proto 定义规则
- caffe 之 proto 理解
- google proto buffer使用
- google proto buffer使用
- 动态使用proto文件
- 动态使用proto文件
- caffe的caffe.proto
- caffe的caffe.proto
- caffe的caffe.proto
- caffe的caffe.proto
- proto
- protocol buffer 的proto文件
- editplus的proto语法文件
- Caffe的caffe.proto注解
- 使用sublime text3对proto buffer文件进行语法高亮的方法
- C指针原理(12)
- Android TextView分享
- Duplicate entry导致mysql主从复制中断的事故
- C语言程序设计教程(第三版)课后习题11.8 链表合并及操作
- java多线程,将oracle中数据导入到sql到文件(包括大字段转换成字符串)
- PROTO 之函数的使用
- Cmd模式下的入侵技术大全
- error
- 如何增加2.0、3.5的目标框架在VS2010里面
- 从HBase读取数据提交到Solr建立索引
- dos下截取字符串
- Java多线程模式(1)共享互斥
- 黑马程序员--内部类
- AndroidAnnotations——SeekBarEventsSeekBar事件