语句选择执行,MAP,FIELD directives

1,语句(段)选择执行,实例

MOV R0,#1

[ {false}

MOV R0,#2

|

MOV R0,#3

]

上面的语句执行 MOV R0,#3,不执行MOV R0,#2。
如果将{false}改成{true}
上面的语句执行 MOV R0,#2,不执行MOV R0,#3。
说明:{false},{true}是汇编器内置的boolean常量。

2,内存映射,实例
MAP,FIELD指示符具体格式参见汇编助手手册。
MAP与^含义相同。
FIELD与#含义相同。

STACK_TOP EQU 0x203000
      ^              STACK_TOP

FIELD      4;保留4字节,向上增长。

GG #             4

MAP        (STACK_TOP-0X100)

YY #             4

假设STATCK_TOP的地址为0x203000,
则GG的地址为0x203004,
YY的地址为0x202F00。
程序对GG的引用,就是对地址0x203004的引用。


//测试源代码:start.s
STACK_TOP EQU 0x203000

AREA RESET, CODE, READONLY
ARM
ENTRY

START

MOV R0,#1

[ {false}

MOV R0,#2

|

MOV R0,#3

]


LDR R0,=GG

LDR R1,=0X1

STR R1,[R0]

LDR R0,=YY

STR R1,[R0]

.


AREA MYDATA,DATA,READWRITE

      ^              STACK_TOP

FIELD      4

GG#             4

MAP        (STACK_TOP-0X100)

YY#             4

END

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值