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.2 基 于 寄 存 器 的 映 射<br />

在 很 多 情 况 下 , 每 次 访 问 一 个 数 据 结 构 时 可 以 使 用 相 同 的 寄 存 器 作 为 基 址 寄 存<br />

器 。 可 以 在 映 射 的 基 址 中 包 含 该 寄 存 器 的 名 称 。 示 例 2-17 说 明 了 这 样 一 个 基 于<br />

寄 存 器 的 映 射 。 映 射 中 定 义 的 标 号 包 含 有 该 寄 存 器 。<br />

示 例 2-17<br />

MAP 0,r9<br />

consta FIELD 4 ; consta uses four bytes, located at offset 0 (from r9)<br />

constb FIELD 4 ; constb uses four bytes, located at offset 4<br />

x FIELD 8 ; x uses eight bytes, located at offset 8<br />

y FIELD 8 ; y uses eight bytes, located at offset 16<br />

string FIELD 256 ; string is up to 256 bytes long, starting at offset 24<br />

利 用 示 例 2-17 中 的 映 射 , 可 以 访 问 数 据 结 构 而 不 管 它 在 什 么 位 置 :<br />

ADR r9,datastart<br />

LDR r4,constb ; => LDR r4,[r9,#4]<br />

constb 包 含 从 数 据 结 构 开 始 位 置 算 起 的 数 据 项 的 偏 移 量 , 也 包 含 基 址 寄 存 器 。 在<br />

此 例 中 , 基 址 寄 存 器 是 在 MAP 命 令 中 定 义 的 r9。<br />

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

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

Saved successfully!

Ooh no, something went wrong!