【实验名称】
ARM 汇编指令实验一
【实验目的】
1. 初步学会使用µVision IDE for ARM 开发环境及ARM 软件模拟器;
2 。 通过实验掌握简单ARM 汇编指令的使用方法
【实验环境】
1 硬件:PC机一台;
2软件:µVision IDE for ARM集成开发环境,Windows 98/2000/NT/XP
【实验内容】
1. 熟悉开发环境的使用并使用ldr/str,mov 等指令访问寄存器或存储单元;
2.使用add/sub/lsl/lsr/and/orr 等指令,完成基本算术/逻辑运算。
3.完成表达式z-(x/4+3)-y*8的运算,并自己对x,y,x分别赋值
【源程序清单】
;******************************************************************************; NAME: asm1_a.s ;Author: JMB //程序开头的说明文档
; Desc: ARM instruction examples //描述
;******************************************************************************
//常量定义
x EQU 4 ; x=4
y EQU 1 ; y=1
z EQU 13 ;z=13
stack_top EQU 0x30200000 ; 定义一个堆栈的站顶指针
export Reset_Handler //定义一个程序的入口
;/* code */
AREA text,CODE,READONLY //定义一个代码段
export
Reset_Handler ; code start */
ldr sp, =stack_top //获取堆栈头指针的地址
mov r0, #x //将x的值放入到寄存器r0中 ;
mov r1, #3 //将立即数3放入到寄存器r1中
ADD r2,,r1,r0,LSR #2; //实现运算 X/4+3的运算 运算结果赋给 r2
mov r1,#z //将z的值赋给寄存器r1
SUB r1,r2 //实现将r1值减去r2 汇编指令有多少个最后赋给r1 (z-x/4+3)
mov r3,y //实现将y的值赋给r3寄存器
SUB r1,r1,r3,LSL #3 // 寄存器r3乘以3再加上r1得到的值再付给 r1
//z-(x/4+3)-y*8;
str r1,[sp] //将程序的最后结果赋给堆栈
Stop //程序结束
b stop ; end the code ,cycling
end
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论