23.10.2014 Views

RealView - ARM Information Center

RealView - ARM Information Center

RealView - ARM Information Center

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

编 写 <strong>ARM</strong> 和 Thumb 汇 编 语 言<br />

2.10.3 相 对 于 程 序 的 映 射<br />

可 以 使 用 程 序 计 数 器 (r15) 作 为 一 个 映 射 的 基 址 寄 存 器 。 在 此 例 中 , 每 个 STM 或<br />

LDM 指 令 必 须 在 其 寻 址 的 数 据 项 的 4KB 范 围 内 , 因 为 偏 移 量 被 限 制 为 4KB。 数<br />

据 结 构 与 指 令 必 须 位 于 相 同 的 段 内 , 因 为 否 则 不 能 保 证 在 链 接 后 数 据 项 将 在 范<br />

围 内 。<br />

示 例 2-18 说 明 了 含 有 这 种 映 射 的 程 序 片 段 。 其 中 包 含 一 个 为 数 据 结 构 分 配 存 储<br />

器 空 间 的 命 令 , 也 包 含 存 取 它 的 一 条 指 令 。<br />

示 例 2-18<br />

datastruc SPACE 280 ; reserves 280 bytes of memory for datastruc<br />

MAP datastruc<br />

consta FIELD 4<br />

constb FIELD 4<br />

x FIELD 8<br />

y FIELD 8<br />

string FIELD 256<br />

code LDR r2,constb ; => LDR r2,[pc,offset]<br />

在 此 例 中 , 不 需 要 在 装 载 数 据 之 前 装 载 基 址 寄 存 器 , 因 为 程 序 计 数 器 已 经 存 放 了<br />

正 确 的 地 址 。( 因 为 处 理 器 里 面 的 流 水 线 , 这 与 LDR 指 令 的 实 际 地 址 并 不 相 同 。<br />

但 是 , 汇 编 程 序 会 处 理 这 个 问 题 。)<br />

2-56 © 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!