实验一 ARM汇编指令使用实验——基本数学/逻辑运算
一、实验目的
1. 初步学会使用ARM ADS / Embest IDE for ARM 开发环境及ARM软件模拟器。
2. 通过实验掌握数据传送和基本数学/逻辑运算的ARM汇编指令的使用方法。
二、实验设备
1. 硬件:PC机。
2. 软件:ADS / Embest IDE 200X集成开发环境。
三、实验内容
1.熟悉ADS / Embest IDE 200X开发环境的使用,使用LDR/STR和MOV等指令访问寄存器或存储单元,实现数据的加法运算。具体实验程序如下:
/* */
.EQU X, 45 /*定义变量X,并赋值为45*/
.EQU Y, 64 /*定义变量Y,并赋值为64*/
.EQU STACK_TOP, 0X1000 /*定义栈顶0X1000*/
.GLOBAL _START
.TEXT
_START: /*程序代码开始标志*/
MOV SP, #STACK_TOP
MOV R0, #X /*X的值放入R0*/
STR R0, [SP] /*R0的值保存到堆栈*/
MOV R0, #Y /*Y的值放入R0*/
LDR R1, [SP] /*取堆栈中的数到R1*/
ADD R0, R0, R1
STR R0, [SP]
STOP: B STOP /*程序结束,进入死循环*/
.END
2.使用ADD/SUB/LSL/LSR/AND/ORR等指令,完成基本数学/逻辑运算。具体实验程序如下:
/* */
.EQU X, 45 /*定义变量X,并赋值为45*/
.EQU Y, 64 /*定义变量Y,并赋值为64*/
.EQU Z, 87 /*定义变量Z,并赋值为87*/
.EQU STACK_TOP, 0X1000 /*定义栈顶0X1000*/
.GLOBAL _START
.TEXT
_START: /*程序代码开始标志*/
MOV R0, #X /*X的值放入R0*/
MOV R0, R0, LSL #8 /*R0的值乘以2的8次方 */
MOV R1, #Y /*Y的值放入R1*/
ADD R2, R0, R1, LSR #1 /*R1的值除以2再加上R0后的值放入R2*/
MOV SP, #0X1000
STR R2, [SP]
MOV R0, #Z /*Z的值放入R0*/
ARM嵌入式实验报告 来自淘豆网m.daumloan.com转载请标明出处.