RealView Compilation Tools Developer Guide - ARM Information ...
RealView Compilation Tools Developer Guide - ARM Information ...
RealView Compilation Tools Developer Guide - ARM Information ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
处 理 处 理 器 异 常<br />
从 数 据 中 断 处 理 程 序 返 回<br />
当 装 入 或 存 储 指 令 试 图 访 问 存 储 器 时 , 程 序 计 数 器 被 更 新 。 (PC - 4) 的 存 储 值 指<br />
向 产 生 异 常 地 址 处 的 第 二 条 指 令 。MMU( 如 果 有 ) 将 相 应 地 址 映 射 至 物 理 存 储<br />
器 , 处 理 程 序 必 须 返 回 到 原 来 中 断 的 指 令 , 以 便 进 行 第 二 次 执 行 尝 试 。 因 此 , 返<br />
回 地 址 较 lr_ABT 中 少 两 个 字 ( 八 个 字 节 ), 使 用 如 下 返 回 指 令 :<br />
SUBS pc, lr, #8<br />
将 返 回 地 址 推 入 堆 中 并 在 返 回 时 将 其 弹 出 的 处 理 程 序 入 口 和 出 口 代 码 为 :<br />
SUB<br />
STMFD<br />
;...<br />
LDMFD<br />
lr,lr,#8<br />
sp!,{reglist,lr}<br />
sp!,{reglist,pc}^<br />
对 于 发 生 在 Thumb 状 态 下 的 异 常 , 处 理 程 序 返 回 指 令 (SUBS pc,lr,#8) 改 变 了 程<br />
序 计 数 器 , 将 其 指 向 产 生 中 断 指 令 的 地 址 。 由 于 程 序 计 数 器 的 更 新 是 在 处 理 异 常<br />
之 前 , 中 断 指 令 应 在 (PC - 6)。 因 此 , 处 理 器 存 储 在 lr_mode 的 值 为 (PC + 2)。<br />
<strong>ARM</strong> DUI 0203BSC © 2002、 2003 <strong>ARM</strong> Limited 版 权 所 有 。 保 留 所 有 权 利 。 6-11