AREA exone,CODE,READWRITE
ENTRY
CODE32 ;作业一1到100的加法
MOV r0,#100 ;向寄存器中存入要比较的次数
MOV r1,#1 ;初始的两个数
MOV r2,#0
loop
ADD r2,r2,r1 ;两两相加
ADD r1,r1,#1 ;自动加一
SUB r0,r0,#1 ;要加的数减一
CMP r0,#0 ;判断比较次数是否为零
BNE loop
LDR r3,=RESULT
STR r2,[r3]
RESULT
DCD 0
STOP
B STOP
AREA extwo, CODE,READWRITE
ENTRY
CODE32
;作业二排序:将目标地址处的数据进行冒泡排序,从小到大
MOVS r2, #1 ;r2 = 排序完成标志,1表示未完成
again
LDR r0, =data ;r0 = 目的数据块地址
MOV r1, #40 ;r2 = 排序字数量
SUBS r1, r1, #4
ANDS r2, r2, #1 ;判断排序是否完成
BEQ stop ;若r2=0,完成
MOVS r2, #0 ;否则,标志设置为0
;STMFD sp!, {r4} ;保存工作寄存器
judge
LDR r3, [r0] ;读出r0地址处得值到r3
LDR r4, [r0,#4] ;读出r0地址处得值到r4
CMP r3, r4 ;比较二者的大小
BLS next ;若r3<=r4,跳到next
exchange
MOVS r2, #1 ;发生数据交换,就设置标志为1
STR r3, [r0,#4] ;交换二者的值
STR r4, [r0]
next
ADDS r0, r0, #4 ;目标地址加4
SUBS r1, r1, #4 ;计数值减1
BNE judge ;本趟排序未结束,跳到judge_2
B again ;否则下一趟
LDMFD sp!, {r4} ;恢复工作寄存器
;将程序的控制权转交给调试器
stop
data
DCD 9,4,6,7,8,1,3,2,0,5
STOP
B STOP
分享到:
相关推荐
华南理工大学嵌入式第一章平时作业,需要的童鞋可以参考下!
- **面向特定体系结构**:汇编语言是为特定计算机体系结构(如x86、ARM、MIPS等)设计的,每种体系结构都有其专属的汇编语言。这意味着汇编程序通常不能直接在不同类型的处理器上运行,不具备源代码级别的可移植性...
其中包括ARM体系介绍、ARM程序设计模型、ARM汇编语言程序设计、ARM C/C++语言程序设计、ARM连接器的使用、ARM集成开发环境CodeWarrior IDE的介绍及高性能的调试工具ADW的使用。并在此基础之上介绍一些典型的基于ARM...
其中包括ARM体系介绍、ARM程序设计模型、ARM汇编语言程序设计、ARM C/C++语言程序设计、ARM连接器的使用、ARM集成开发环境CodeWarrior IDE的介绍及高性能的调试工具ADW的使用。并在此基础之上介绍一些典型的基于ARM...
ARM汇编程序范例 练习(1)赋值语句 C程序: x=(a+b)-c 汇编程序: 设置断点,直接运行到断点之前,即进行减法之前,这里我们初始化a=0,b=1,c=2,x=3 可以看到r4中现在是c的地址,r0的值是a,r1的值是b,r3的值当前位...
- **面向特定体系结构**:汇编语言是为特定计算机体系结构(如x86、ARM、MIPS等)设计的,每种体系结构都有其专属的汇编语言。这意味着汇编程序通常不能直接在不同类型的处理器上运行,不具备源代码级别的可移植性...
嵌入式作业,涉及arm汇编,对数组进行排序和查找,采用冒泡排序和二分查找算法
汇编编译器,作为新加坡国立大学 CS4212 编译器设计的作业编写。 编译器具有 SSA 后端,具有单独的溢出和着色通道。 在溢出过程中使用全局下一次使用分析,允许将一些变量跨循环保存在寄存器中,而不会发生不必要的...
利用汇编的基础知识实现俄罗斯方块游戏.这里适用于汇编的初学者的课程作业参考
ARM体系结构与应用课件part2包括剩下的第八章,配套的复习提问,汇编实验和作业
一次汇编课的作业,实现m个两位十进制数从大到小的排列
ARM汇编程序的文件类型为( ) A、*.C B、*.CPP C、*.ASM D、*.S 参考答案:D 15. 嵌入式开发只需要驱动程序编写人员和系统移植整合编写人员。( ) A、错误 B、正确 参考答案:A 22春"计算机科学与技术"专业《嵌入式...
适用于ARM集群的简单门户批处理作业计划程序。 Hui Li 版权所有(C)2013 该程序是免费软件; 您可以重新分发和/或修改根据GNU发布的GNU通用公共许可的条款进行自由软件基金会; 许可证的第2版,或(由您选择)任何...
1,预处理;预处理器根据以字符#开头的命令,修改原始的C程序,通常是读取系统头文件。 2,编译;将上一步预处理生成的hello.i文件翻译成文本文件hello.s,即为汇编语言,汇编语言仍为可以查看的文本文件,是介于高级...
西部CS 西部大学计算机科学课程作业集。 用 Java、C++、C、ARM 汇编和 Bash 编写。
本论文以Linux操作系统环境为背景,利用GCC编译器、EDB调试器和Objdump反汇编工具等工具链,对"hello.c"源程序的编译、链接和执行过程进行深入研究。通过整合计算机系统软硬件知识,探索"hello.c"是如何逐步转化为可...
STM32L1-Discovery arm-none-eabi- asm 工具链模板这是将 STM32L1-Discovery 与 GNU ARM 工具链一起使用的模板。 此模板假定您只编写汇编代码。 您可以自己构建它,也可以使用来自诸如地方的预编译版本该模板基于为 ...
使用汇编语言实现LED3闪烁实验
WINCE的内存(包括SDRAM及FLASH)的配置包含两个方面:源代码(包括C和汇编)中的定义,及系统配置文件CONFIG.BIB中的定义。源代码中需要定义内存的物理及虚拟地址,大小,并初始化名为OEMAddressTable的结构数组,...
1. C语言和汇编语言在开发单片机时各有哪些优缺点? 答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言...