ARM汇编指令编程

ARM汇编指令编程之内存单元填入整数并累加


题目:对内存地址0X3000开始的100个字内存单元填入0X10000001---0X10000064,将每个字单元进行64位累加,结果送入其后的容闲内存单元。


实验软件:ARM Developer Suite V1.2

代码:

        AREA test,CODE,READONLY

        ENTRY

        CODE32

START

        MOV R0,#0X3000

        MOV R1,#0X10000001

        MOV R2,#100

LOOP_1

        STR R1,[R0],#4

        ADD R1,R1,#1

        SUBS R2,R2,#1

        CMP R2,#0

        BNE LOOP_1

        MOV R9,R0

        MOV R0,#0X3000

        MOV R2,#100

        MOV R8,0

LOOP_2

        LDR R1,[R0],#4

        ADDS R8,R1,R8

        SUBS R2,R2,#1

        CMP R2,#0

        BNE LOOP_2

        STR R8,[R9]

STOP

        B STOP


一些注释:

R0用来记起始内存地址,R2是迭代计数器,Loop_1用来将整数写到内存中,而R2用来累加并把最后的和(用R8存)存入内存。


结果截屏:

此文章本人原创,如有问题底部留言,如有转载请标明出处。                      --HurryChen


                                                                Happy   Coding!

                                                                    *\( ^ v ^ )/*

你可能感兴趣的:(ARM汇编指令编程)