高级汇编语言技术
来源:互联网 发布:微博股票组合数据说明 编辑:程序博客网 时间:2024/05/22 05:20
高级汇编语言技术
1、宏汇编
使用子程序也有一些缺点:为转子及返回、保存和恢复寄存器以及参数的传送等都要增加程序的开销,这些操作所消耗的时间以及它们所占用的存储空间,都是为取得子程序结构使程序模块化的优点而增加的额外开销
1.1、宏定义、宏调用和宏展开
宏是程序中一段有独立功能的程序代码。它只需要在源程序中定义一次,就可以多次调用它,调用时只需要用一个宏指令语句就可以了
宏定义是用一组伪操作来实现的,格式如下:
macro name MACRO [dummy parameter list]
…(宏定义体)
ENDM
其中,MACRO和ENDM是一对伪操作,这对伪操作之间是宏定义体——是一组有独立功能的程序代码。宏指令名给出该宏定义的名称,调用时就使用宏指令名来调用该宏定义。哑元表给出了宏定义中所用到的形式参数,每个哑元之间用逗号隔开
经过宏定义之后的宏指令就可以在源程序中调用,宏调用的格式为:
macro name [actual parameter list]
实元表中的每一项为实元,相互之间用逗号隔开
当源程序被汇编时,汇编程序对每个宏调用作宏展开。宏展开就是用宏定义体取代源程序中的宏指令名,而且用实元取代宏定义中的哑元。
子程序调用和宏调用的区别:
子程序是在程序执行期间由主程序调用的,它只占有自身大小的一个空间;而宏调用则是在汇编期间展开的,每调用一次就把宏定义体展开一次,因而它占有的存储空间与调用次数有关,调用次数越多则占有的存储空间也越大
2、重复汇编
有时汇编语言程序需要连续地重复完成相同的或者几乎完全相同的一组代码,这时可使用重复汇编
(1)重复伪操作
重复伪操作的格式是:
REPT expression
…(重复块)
ENDM
其中表达式的值用来确定重复块的重复次数,表达式中如包含外部或未定义的项则汇编指示出错
(2)不定重复伪操作
IPR伪操作格式是:
IPR dummy,<argument list>
…(重复块)
ENDM
汇编程序把重复块的代码重复几次,每次重复把重复块中的哑元用自变量表中的一项来取代,下一次取代下一项,重复次数由自变量表中的自变量个数来确定
3、条件汇编
汇编程序能根据条件把一段源程序包含在汇编语言程序内或者把它排除在外,条件伪操作的一般格式是:
IFxx argument
…(自变量满足条件时汇编此块)
[ELSE]
…(自变量不满足条件时汇编此块)
ENDIF
- 高级汇编语言技术
- 高级汇编语言技术
- 高级语言,汇编语言,机器语言
- 汇编语言与高级语言
- 高级语言,汇编语言,机器语言
- 高级汇编语言和低级汇编语言的差别
- 高级语言.汇编语言和机器语言
- 高级技术
- 汇编语言和C++哪个是高级语言
- 计算机编程语言(机器语言、汇编语言、高级语言)
- 机器语言-汇编语言-高级语言各自优缺点
- 什么是汇编语言(二) 高级语言与汇编
- 【计算机组成原理】高级语言>>汇编语言>>机器语言
- HLA高级汇编 进入高级汇编语言的世界 第一篇
- 用汇编语言建立DLL的技术
- 汇编语言与C语言的接口技术
- 汇编语言与C语言的接口技术
- VC高级调试技术
- java基础学习(3)
- CSDN的Blog有进步,但还是存在不足
- 写在地震次日——愿:人民平安,祖国强盛,社会法治,政治民主,政府清廉高效。
- 情牵灾民
- override 与new 的区别
- 高级汇编语言技术
- 调整ACE日志时间输出格式
- ASP.NET页面打印技术的总结
- 判断是否服务器端提交
- SQL注入过滤
- 将GUI和游戏引擎进行结合
- 用Java开发Linux GUI应用
- 使用J2SE1.4开发CORBA程序(一)
- 四川512 7.8级 地震图片