文档库 最新最全的文档下载
当前位置:文档库 › 山东大学嵌入式实验报告

山东大学嵌入式实验报告

w KV RD R MUMC老J_LAr5TT RO. S3. RO. RL . d kJ.

嵌入式实验报告

班级:电信工X班姓名:XXX 学号:20120012XXXX

实验一、ARM匚编指令实验-简单数据搬移实验

实验目的:

熟悉实验开发环境,掌握简单ARM匚编的使用方法

实验内容

熟悉开发环境并使用LDR /STR,MOV等指令访问寄存器或存储单元;

使用ADS/SUB/LSL/LSR/AND/ORR等指令完成基本数学/逻辑运算。

实验要求

(1)按照前面叙述介绍的方法,在ADS下创建一个工程asmlabl,定义两个变量x,y和堆

栈地址0x1000,将变量x的内容存到堆栈顶,然后计算x+y,并将和存到堆栈的下一个单元。通过AXD 查看寄存器和memory和寄存器中数据的变化。

(2)在指令后面加上适当注释,说明指令功能。

(3)指出程序执行后各相关寄存器及存储器单元的具体内容。

程序代码截图如下:

A PEA Imt.CODE.FEADOKLY

EhihV

L.QTiH.V

K EUU 4b

7 EQU C4

ST ack_tcp SOU QirlCOD

JTstack_tr)t3:卅鸟機」砂也it

#x :JI賞值JM^&RO

fSF] :肮入栈,朗if的怕入神

W :把y的谊赋給刘

I5F I :婕麟也穫,,fiftARln和田中袴SS E的值

RD R1 -RO ^EO+Kl

ISF.#4 I [先菽行壬+4鼻朋为32炖九令臬1 ..百將尺沖I書复制列ISP時浏旷奇存番

B

EWt

程序运行结果截图:

AKM92OT 二 Memory S t art a air

^Ox 10D0

T abl - Hex - Ko prefix

Ta.l-2

Ko prefix | T?b3 - Addreas

—1

2 3 4

5 百 0x00001000 23 00 oa 00 ED OO OO 1 0x00001010 10 00 FE E7 00 E£ oo 1 OxCOOOLO^O 10 00 FF E7 00 EE DO 1 0x00001030 ID 00

FF

E7

0D

ES DO 1 Anu rt rirtrii fl J n

■1 c

fl A

r 4

rtr

1

由实验结果可知堆栈的第二个单元中存放了 x+y 的值6D

练习题

编写程序实现对一段数据的最大值和最小值搜索, 最大值存在于max 变量之中,最小值存在 于min 变量之中。提示:数据的定义采用伪指令:

DCD 来实现。

基本思路:利用 R0做基地址,将 R1,R2分别放入第一单元的内容,利用

R3做循环计数,

利用R4遍历读取第2至最后一个数据,如果R1的数据小于新读入的 R4数据则将R4的内容 存入R1,如果R2的内容大于R4的内容则将R4的内容存入R2,。遍历完成之后,R1将存放 最大数据,R2将存放最小数据。

程序代码截图如下:

AEEA ccmp ,CODE ,KEADONIY

ENTRY

CODE 32

START

QR EO ,讹T

LPR El ”[RO] IDE R2.[RO]

100P

ADD KO ,K0 ,Jf4

LPR R4,[HOI CMP P1J?4

MOVIT

CMP E2.154

MOVCT P2.P4

ADD CMP R3H

BIT IOOP E .

APEA D r DiTA,PEADON1Y

DAT DCD ll,-2#35M7,96.63.12B,-23

END

程序运行结果截图:

相关文档
相关文档 最新文档