写一段arm汇编程序,对包含10个元素的整数数组进行从大到小的排序

如题所述

第1个回答  2015-05-17

咱小学文化给你编一个吧


结果放在0x20000200


.section .data

shuzu:     .int 77, 55, 44, 33, 11, 22, 66, 88, 99, 100



.section .text

fuzhi:
    mov r4, # 0x24
    mov r3, # 0
    mov r5, # 0
    ldr r0, = shuzu
    
bijiao1:
    cmp r5, # 0x28
    beq tiaochu

    ldr r1, [r0, r5]
bijiao:
    ldr r2, [r0, r3]
    cmp r1, r2
    beq jisuan
    bhi dayu
jisuan:    
    add r3, # 4
    cmp r3, # 0x28
    bne bijiao
    bl jieguo
    mov r3, # 0
    add r5, # 4
    b bijiao1
    
dayu:
    sub r4, # 4
    b jisuan
jieguo:
    ldr r6, = 0x20000200
    str r1, [r6, r4]
    mov r4, # 0x24
    bx lr
tiaochu:
    b tiaochu

本回答被网友采纳

ARMHGWQFDT怎么排序
按照整数数组进行排序的。ARM汇编指令编程之选择排序 ARM汇编指令编程之选择排序 题目:将整数数组 {0XAABBCC11,0XAABBCC00,0XAABBCC33,0XAABBCC22,0XAABBCC44}进行选择排序。将整数数组{0XAABBCC11,0XAABBCC00,0XAABBCC33,0XAABBCC22,0XAABBCC44}进行选择排序。实验环境:ARM Developer Suite V1....

汇编语言编程实现一组数的大小排列 跪求啊 大神们 谢谢了
INT I,J,T,E,G = 0;诠释* =(*)malloc的(C *如sizeof(int)); \/ \/编译不能确定数组的大小可以动态地分配内存 诠释* B =(*)malloc的(C BR \/>(我是sizeof(int)); = 0;我<C + +){scanf的(“%d”,&A [I]);} 为(i = 0; I {G = G+ 1 B [我]...

用ARM7汇编语言写一个求和,求余数,求最大最小值的代码!急用_百度知 ...
首先应该有一个数据区,相当于一个数组,你可以首先对他们排序,,然后呢,自然的就有最大的数据和最小的数据在数组的两端了啊。。。然后,,把中间的数据加起来,就得到和。。然后再除以数的个数。,这里,,余数再转化为小数就可以了,这里,你可以将余数乘以10后再除以个数,,得到的商呢,就是...

几道简单ARM汇编代码题
26. MOV R0,#X MOV R1,#64 CMP R0,R1 MOVHI RO,#0 MOVLS R2,#0 27. 字符串拷贝程序设计(用LDR和STR实现)AREA StrCopy, CODE, READONLY ENTRY ; 程序入口 start LDR r1, =srcstr ; 初始串的指针 LDR r0, =dststr ; 结果串的指针 BL strcopy ; 调用子程序执行复制 stop MOV ...

怎么样才能快速学会C语言和单片机呢?谢谢大侠们。。
顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算,输出三步曲的程序就是顺序结构,例如计算圆的面积,其程序的语句顺序就是输入圆的半径r,计算s = 3.14159*r*r,输出圆的面积s。不过大多数情况下顺序结构都是作为程序的一部分,与其它结构一起构成一个复杂的程序,例如分支结构中的复合语句、循环结构中...

如何在C语言中嵌入汇编?
* SIZE 操作符可以获取 C\/C++ 变量的大小(一个变量的大小是 LENGTH 和 TYPE 的乘积)。 * TYPE 操作符可以返回 C\/C++ 类型和变量的大小(如果变量是一个数组,它得到的是数组中单个元素的大小)。 例如,程序中定义了一个 8 维的整数型变量: int iArray[8]; 下面是 C 和汇编表达式中得到的 iArray 及其元...

汇编语言是一种什么程序设计语言?
比起机器语言,汇编语言具有更高的机器相关性,更加便于记忆和书写,但又同时保留了机器语言高速度和高效率的特点。汇编语言仍是面向机器的语言,很难从其代码上理解程序设计意图,设计出来的程序不易被移植,故不像其他大多数的高级计算机语言一样被广泛应用。所以在高级语言高度发展的今天,它通常被用在...

如何优化C++程序代码编写
所以,为了获得程序的高效率,我们只好采用变通的方法--嵌入汇编,混合编程。嵌入式C程序中主要使用在线汇编,即在C程序中直接插入_asm{ }内嵌汇编语句。举例如下,将数组一赋值给数组二,要求每一字节都相符。char string1[1024],string2[1024];方法I int I;for (I =0 ;I<1024;I++)(string2 ...

学嵌入式linux需要先学什么?
LED程序里面的init_led、led_on、led_off函数是你一个人写的,爱取什么名就取什么名,爱怎么写就怎么写。 LCD程序里的函数也是你写的,完全是自由发挥。 很多单片机项目不是很复杂,2、3个人从上到下统统搞定,里面的函数大多时间是直接去读写寄存器。 很多单片机项目严重依赖于硬件,换一个芯片后怎么办?重写一套代...

相似回答