实验名称
ARM 汇编指令实验一
实验目的
1  初步学会使用µVision IDE for ARM 开发环境及ARM 软件模拟器;
2 通过实验掌握简单ARM 汇编指令的使用方法
实验环境】
1 硬件:PC机一台;
2软件:µVision IDE for ARM集成开发环境,Windows 98/2000/NT/XP
实验内容
1 熟悉开发环境的使用并使用ldr/strmov 等指令访问寄存器或存储单元;
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小时内删除。