01.12.2014 Views

RealView Compilation Tools Developer Guide - ARM Information ...

RealView Compilation Tools Developer Guide - ARM Information ...

RealView Compilation Tools Developer Guide - ARM Information ...

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 />

使 用 胶 合 代 码 的 汇 编 语 言 交 互 操 作 的 示 例<br />

示 例 4-5 说 明 了 将 寄 存 器 r0 到 r2 分 别 设 置 为 1、2 和 3 的 代 码 。 寄 存 器 r0 和 r2<br />

由 <strong>ARM</strong> 代 码 设 置 。 r1 由 Thumb 代 码 设 置 。 请 注 意 :<br />

• 该 代 码 必 须 用 --apcs /interwork 选 项 来 进 行 汇 编 ;<br />

• 使 用 BX lr 指 令 从 子 例 程 中 返 回 , 而 不 是 通 常 的 MOV pc,lr。<br />

示 例 4-5<br />

; *****<br />

; arm.s<br />

; *****<br />

AREA Arm,CODE,READONLY ; Name this block of code.<br />

IMPORT ThumbProg<br />

ENTRY<br />

; Mark 1st instruction to call.<br />

<strong>ARM</strong>Prog<br />

MOV r0,#1<br />

; Set r0 to show in <strong>ARM</strong> code.<br />

BL ThumbProg ; Call Thumb subroutine.<br />

MOV r2,#3<br />

; Set r2 to show returned to <strong>ARM</strong>.<br />

; Terminate execution.<br />

MOV r0, #0x18<br />

; angel_SWIreason_ReportException<br />

LDR r1, =0x20026<br />

; ADP_Stopped_ApplicationExit<br />

SWI 0x123456<br />

; <strong>ARM</strong> semihosting SWI<br />

END<br />

; *******<br />

; thumb.s<br />

; *******<br />

AREA Thumb,CODE,READONLY ; Name this block of code.<br />

CODE16<br />

; Subsequent instructions are Thumb.<br />

EXPORT ThumbProg<br />

ThumbProg<br />

MOV r1, #2<br />

; Set r1 to show reached Thumb code.<br />

BX lr ; Return to <strong>ARM</strong> subroutine.<br />

END<br />

; Mark end of this file.<br />

按 照 这 些 步 骤 编 译 并 链 接 模 块 , 然 后 检 查 交 互 操 作 胶 合 代 码 :<br />

1. 键 入 armasm arm.s 来 汇 编 <strong>ARM</strong> 代 码 。<br />

2. 键 入 armasm -16 --apcs /interwork thumb.s 来 汇 编 Thumb 代 码 。<br />

3. 键 入 armlink arm.o thumb.o -o count 来 链 接 两 个 目 标 文 件 。<br />

<strong>ARM</strong> DUI 0203BSC © 2002、 2003 <strong>ARM</strong> Limited 版 权 所 有 。 保 留 所 有 权 利 。 4-15

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

Saved successfully!

Ooh no, something went wrong!