您的位置 首页 国产IC

6502单片机编程–伪指令2

**宏指令**令我感到极度兴奋的是6502_MacroassemblerSimulator有强大的宏功能这无疑使程序的编写又简单方便许多了我们先说说宏

**宏指令**
令我感到极度振奋的是 6502_Macroassembler &Simulator有强壮的宏功用.这无疑使程序
的编写又简略便利许多了.
咱们先说说宏的格局
宏名:.MACRO 宏虚参数1,宏虚参数2,宏虚参数3…..
宏体
.ENDM
这儿.MACRO.ENDM有必要成对呈现
宏调用的格局:
宏名宏实参数1,宏实参数2,宏参数3
具有宏调用的源程序被编译时,每个宏调用将被编译程序打开,宏打开实践上是宏界说时规划的宏体去替代相应的宏指令名,而且用实践参数去替代虚参数,以构成契合功用并可以被执行的实践代码
咱们举例阐明:
完成中止指令 INT
咱们知道,现在的6502编译器都不支撑INT指令,给书写形成不方便,不过现在咱们可以用宏来完成
.ORG $0000
INT:.MACRO INT_PARAM
.DB $00
.DW INT_PARAM
.ENDM
阐明,这儿 INT 是宏名,留意后边要接 : ,INT_PARAM 是虚参数,由于INT的机器码是 00,所以咱们在宏体中 .DB $00,比方 INT $C008,机器码是 00 08 C0,所以咱们 .DW INT_PARAM.这样,咱们完成 INT 指令,例如咱们在程序里输入 INT $C008,就和文曲星里的 INT $C008是相同的功用.
我再举个比如,6502中没有寄存器X直接入仓库和弹出仓库功用的指令,这儿咱们用宏完成
.ORG $0000
PHX:.MACRO
TXA
PHA
.ENDM
PLX:.MACRO
PLA
TAX
.ENDM
MAIN:PHX

PLX
RTS
看到了吧,咱们在程序中就可以用 PHX,PLX
尽管宏的功用比较大,可是咱们不可以乱用,由于宏和子程序是不相同的,子程序由 JSR 调用,RTS 回来,所以汇编后子程序的机器码只占有一个程序段,不论调用多少次都是如此,比较节约内存.宏指令每调用一次都要占一个程序段,调用次数越多,占用内存就越多,所以从开支来说,子程序优于宏指令,但从程序的执行时刻来剖析,每调用一次子程序都要维护和康复回来地址,要耗费一些时刻宏指令调用不需求这个进程,执行时刻较短,所以从执行时刻来看,宏指令又优于子程序.
所以说,当某一需求屡次拜访的程序段较长,拜访次数又不是太多时,选用子程序比较好;当某一需求屡次拜访程序段较短,拜访次数又很频频时,选用宏指令比较好.

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/ic/260228.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部