汇编语言中macro的用法

如果有一段程序需要多次使用,为使程序不重复书写这段程序,可用宏定义把所需要重复出现的程序块定义成宏指令,此后在宏指令出现的地方,宏汇编程序总是自动地把它们替换成相应的代码段。

 **宏指令格式**
    [ 宏指令名 ]   MACRO  [形式参数,.........]
                    代码段
                   ENDM
在宏定义中,使用了“形式参数“,它们引用宏指令时被给出的一些名字或数值(实在参数)所替换。使用形式参数给宏指令带来了很大的

灵活性。
(2)宏调用格式
[ 宏指令名 ] [实在参数, …]
比如:

delay macro
    mov r2,#200

    djnz r2,$

    endm

flash:
    setb p1.0

    delay

    clr p1.0

    delay

    sjmp flash

与子程序不同的是,子程序调用要用LCALL,子程序返回要用RET,而宏只是一段程序,子程序中用到时,编译程序自动将这段程序在该位置展开,所以宏调用其实相对与子程序而言占用的内存空间要大。

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值