23.10.2014 Views

RealView - ARM Information Center

RealView - ARM Information Center

RealView - ARM Information Center

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

汇 编 程 序 参 考<br />

3.5.4 汇 编 时 的 变 量 替 换<br />

可 以 使 用 一 个 字 符 串 变 量 表 示 整 行 汇 编 语 言 或 一 行 中 的 任 何 部 分 。 在 要 用 值 替<br />

换 变 量 的 位 置 处 使 用 带 有 $ 前 缀 的 变 量 。$ 字 符 指 示 汇 编 程 序 在 检 查 该 行 的 语 法<br />

之 前 , 用 该 字 符 串 替 换 到 源 代 码 行 中 。<br />

也 可 以 替 换 数 字 和 逻 辑 变 量 。 在 替 换 之 前 , 变 量 的 当 前 值 被 转 换 为 十 六 进 制 字<br />

符 串 ( 或 逻 辑 变 量 的 T 或 F 值 )。<br />

如 果 变 量 名 后 面 的 字 符 会 造 成 变 量 名 的 混 淆 , 可 以 使 用 点 号 来 显 式 地 标 识 一 个<br />

变 量 名 的 结 束 ( 请 参 阅 第 3-12 页 的 符 号 命 名 规 则 )。 在 使 用 变 量 之 前 , 必 须 设<br />

置 其 内 容 。<br />

如 果 需 要 使 用 不 被 替 换 的 $ 字 符 , 可 使 用 $$。 其 将 被 转 换 为 单 个 $。<br />

可 以 在 字 符 串 中 包 含 带 有 $ 前 缀 的 变 量 。 替 换 方 式 与 其 它 位 置 处 的 相 同 。<br />

在 竖 杠 内 一 般 不 进 行 替 换 , 除 非 双 引 号 内 的 竖 杠 不 影 响 替 换 。<br />

示 例<br />

; straightforward substitution<br />

GBLS add4ff<br />

;<br />

add4ff SETS "ADD r4,r4,#0xFF" ; set up add4ff<br />

$add4ff.00<br />

; invoke add4ff<br />

; this produces<br />

ADD r4,r4,#0xFF00<br />

; elaborate substitution<br />

GBLS s1<br />

GBLS s2<br />

GBLS fixup<br />

GBLA count<br />

;<br />

count SETA 14<br />

s1 SETS "a$$b$count" ; s1 now has value a$b0000000E<br />

s2 SETS "abc"<br />

fixup SETS "|xy$s2.z|" ; fixup now has value |xyabcz|<br />

|C$$code| MOV r4,#16 ; but the label here is C$$code<br />

3-14 © 2002、 2003 <strong>ARM</strong> Limited 版 权 所 有 。 保 留 所 有 权 利 。 <strong>ARM</strong> DUI 0204BSC

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!