INVOKE  expression [, arguments]

其中:expression—地址表达式,通常为子程序名;
arguments—传递的各参数之间用逗号','分开,参数可以是寄存器、表达式或ADDR标识符等。

该伪指令是调用基于堆栈的子程序的方法,它把所有参数压栈,子程序结束时,又把参数自动弹出堆栈。

在参数传递时,汇编程序将根据子程序的原型进行数据类型检查。若需要进行参数类型转换的话,汇编程序则会自动生成一段代码来满足其数据类型转换的要求。

例如:

INVOKE  TEST, AX, 12+34, ADDR MSG

其中:TEST是子程序名,寄存器AX和表达式“12+34”是参数,“ADDRMSG”是传递变量MSG的地址。

例7.6 编写一个累加参数数值的子程序。其中参数的个数不定,参数的个数由第一个参数来确定。

解:

http://www.zznews.cn/hyzx/jkxx/5348241718.html
http://www.zznews.cn/hyzx/jkxx/5347227324.html
http://www.zznews.cn/hyzx/jkxx/5347234827.html
http://www.fengone.com/bj/jsqy/2014/0411/493967.html
http://www.zznews.cn/hyzx/jkxx/5346187258.html
http://www.yltvb.com/xwbk/redianxinwen/5346328135.html
http://www.yltvb.com/xwbk/redianxinwen/5346328135.html
http://www.lfxww.com/2014/shichangshangxun/2014/0411/787594.html
http://blog.sina.com.cn/s/blog_ecd6fa280101ihti.html
http://blog.sina.com.cn/s/blog_ecd6fa280101ihtg.html
http://blog.sina.com.cn/s/blog_ecd6fa280101ihtc.html

http://www.lfxww.com/2014/shichangshangxun/2014/0411/785817.html
http://www.yltvb.com/xwbk/redianxinwen/5367119014.html
http://www.zznews.cn/hyzx/jkxx/5343714630.html
http://www.fengone.com/bj/jsqy/2014/0411/491840.html
http://www.lhrb.com.cn/qyxw/fhrl/5351567039.html
http://www.lfxww.com/2014/shichangshangxun/2014/0411/787013.html
http://www.rznews.cn/yszx/stbk/5346544280.html
http://www.lfxww.com/2014/shichangshangxun/2014/0411/787469.html
http://www.yltvb.com/xwbk/redianxinwen/5346150844.html
http://www.zznews.cn/hyzx/jkxx/5346167770.html
http://www.fengone.com/bj/jsqy/2014/0411/493967.html
http://www.lfxww.com/2014/shichangshangxun/2014/0411/787511.html
http://www.yltvb.com/xwbk/redianxinwen/5346274547.html
http://www.zznews.cn/hyzx/jkxx/5346174030.html
http://www.lfxww.com/2014/shichangshangxun/2014/0411/787514.html
http://www.lfxww.com/2014/shichangshangxun/2014/0411/787517.html
http://www.yltvb.com/xwbk/redianxinwen/5346281904.html
http://www.zznews.cn/hyzx/jkxx/5346187258.html
http://www.lfxww.com/2014/shichangshangxun/2014/0411/787578.html
http://www.yltvb.com/xwbk/redianxinwen/5346328135.html
http://www.yltvb.com/xwbk/redianxinwen/5346328135.html
http://www.lfxww.com/2014/shichangshangxun/2014/0411/787594.html
http://www.yltvb.com/xwbk/redianxinwen/5346910236.html
http://www.zznews.cn/hyzx/jkxx/5346202792.html
http://www.lfxww.com/2014/shichangshangxun/2014/0411/787627.html
http://www.lhrb.com.cn/qyxw/fhrl/5351734683.html
http://blog.sina.com.cn/s/blog_ecd6fa280101ihti.html
http://blog.sina.com.cn/s/blog_ecd6fa280101ihtg.html
http://blog.sina.com.cn/s/blog_ecd6fa280101ihtc.html

    .MODEL  SMALL
.STACK  256
.CODE
;第一个参数parmcount确定其后面参数parmvalues中所含参数的个数
ADDUP PROC NEAR  C, parmcount:WORD, parmvalues:VARARG
XOR AX, AX
XOR SI, SI
MOV CX, parmcount
.REPEAT
ADD AX, parmvalues[SI]
ADD SI, 2
.UNTILCXZ
RET
ADDUP ENDP
.STARTUP
INVOKE ADDUP, 3, 5, 2, 4 ;调用子程序ADDUP,计算5+2+4
INVOKE ADDUP, 4, 1, 2, 3, 4 ;调用子程序ADDUP,计算1+2+3+4
.EXIT 0
.END

INVOKE expression [, arguments]相关推荐

  1. DataColumn.Expression 语法

    在某些情况下DataTable是非常有用的.DataTable的操作基本就会有相关的计算.统计.聚合.筛选等.DataColumn中提供了Expression属性.他的定义如下: 获取或设置表达式,用 ...

  2. Expression的操作方法

    三.Expression的操作方法   名称 说明 Accept(ExpressionVisitor) 调度到此节点类型的特定 Visit 方法. 例如,MethodCallExpression 调用 ...

  3. Expression 核心操作符、表达式、操作方法

    一.Expression中的操作运算符   成员名称 说明   Add 加法运算,如 a + b, ,不进行溢出检查,针对数值操作数.   AddAssign 加法复合赋值运算,如 (a += b), ...

  4. Expression 拼接组合表达式(附--封装代码)

    参考:https://www.cnblogs.com/wzxinchen/p/4611592.html,最后加了点额外的东西 前言 LINQ大家都知道,用起来也还不错,但有一个问题,当你用Linq进行 ...

  5. 识别字符串是否为数字

    如果我有这些字符串: "abc" = false "123" = true "ab2" = false 是否存在诸如IsNumeric()类 ...

  6. 学习ASP.NET Core,怎能不了解请求处理管道[1]: 中间件究竟是个什么东西?

    ASP.NET Core管道虽然在结构组成上显得非常简单,但是在具体实现上却涉及到太多的对象,所以我们在 "通过重建Hosting系统理解HTTP请求在ASP.NET Core管道中的处理流 ...

  7. 拉姆达表达式转对象(太给力啦!)

    在自己做框架时候遇到一个对条件拼装问题.用lambda写法却无法转换成对象加以组合.直到找到下面这些代码 那么可以直接将lambda表达式解析成SQL条件语句 WhereClip<Admin_U ...

  8. [翻译] Anders Hejlsberg访谈录——Geek of the Week

    [翻译] Anders Hejlsberg访谈录--Geek of the Week 原文地址:http://www.simple-talk.com/opinion/geek-of-the-week/ ...

  9. Spring深入学习笔记

    目录 1.spring运行流程 2.Bean定义,注册,获取 ApplicationContext 1.bean对象的创建流程 2.bean的扩展接口 3.回调接口 4.监听与事件 5.Factory ...

最新文章

  1. 在Archlinuxarm上搭建Minecraft基岩服务器
  2. Linux系统下区别对比(~、/home与/root)
  3. 第三课《让简历有点色彩》
  4. Android9.0 http网络请求失败问题的处理
  5. Spark GraphX算法 - Pregel算法
  6. 二手机Q1行情报告:iPhone 11、华为Mate、P40(5G)等小幅涨价
  7. Security+ 学习笔记23 帐户管理
  8. X.509,RSA,PKCS 普及
  9. 转载:CSDN mvc ef 的简单增删改查操作
  10. mysql 触发器详情
  11. SQL Server 2008 R2安装教程
  12. 用Java实现 通过两个栈实现一个队列
  13. BitTorrent 简介
  14. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.异常处理
  15. java mas,java 移动MAS的DB接口实现彩信发送
  16. Python爬虫爬取中国电影票房排行榜
  17. Can‘t find bundle for base name XXXX, locale zh_CN解决方法
  18. 计算机打字的基础知识,学习电脑打字基础知识
  19. 快速上手Android蓝牙串口开发
  20. 加载glove-840B-300d.txt出现ValueError

热门文章

  1. 禁止域用户界面安装软件
  2. python贺卡文字_圣诞贺卡制作
  3. WINDOWS+PE权威指南读书笔记(26)
  4. iOS -- 给自己的APP加上启动图
  5. 回收站删除的文件怎么恢复,2个方法汇总助您快速解决
  6. 2018,微信公众号可能要变天了
  7. 【电子学会】2022年06月图形化四级 -- 判断闰年
  8. 双十一好物怎么入手,五款双十一最值得入手的好物分享
  9. 语音识别再破记录,这个领域究竟哪家强?
  10. Django的ManyToManyField(多对多)的使用以及through的作用