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
分享到:
相关推荐
本项目是F28HS “Hardware Software Interface” 课程的课程作业2,旨在使用C语言和ARM汇编语言实现一个Master Mind游戏系统。系统涉及与LED、按钮和LCD等硬件的交互,以及游戏逻辑的实现。 ### 项目的主要特性和...
1. **指令集架构(ISA)**:汇编语言是针对特定处理器的,每个处理器都有自己的指令集,如x86、ARM等。理解ISA是编写汇编程序的基础,因为每条汇编指令都对应一个特定的机器码操作。 2. **基本操作**:汇编语言主要...
汇编语言 汇编语言X86和ARM使用配置说明 【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM...
2. **汇编指令集**:学习汇编语言,必须熟悉特定架构(如x86或ARM)的指令集,包括数据操作指令、转移控制指令、I/O操作指令等。这些指令直接对应于计算机硬件的操作,是编写汇编程序的基础。 3. **程序设计**:...
本章节习题主要涵盖了嵌入式系统原理及应用中的软件作业习题,涵盖了 Arm 汇编语言编程、数据传输、数值比较、字符串处理等多个方面。 1. 软件作业习题3: 本习题要求将存储器中 0x400000 开始的 200 字节的数据...
1. **指令系统**:掌握各种CPU架构(如x86或ARM)下的基本指令,如数据处理指令(加减乘除、位操作)、控制流程指令(跳转、分支、循环)以及输入输出指令等。理解每条指令的含义、用法及其对内存和寄存器的影响。 ...
Arm所有课后作业数据集 本资源摘要信息涵盖了Arm相关的课后作业数据集,涵盖了立即数、伪指令、空间局部性、时间局部性、 Cache 映射方式、页表、快表、寄存器等知识点。 一、立即数 立即数是指在指令中直接出现...
- **面向特定体系结构**:汇编语言是为特定计算机体系结构(如x86、ARM、MIPS等)设计的,每种体系结构都有其专属的汇编语言。这意味着汇编程序通常不能直接在不同类型的处理器上运行,不具备源代码级别的可移植性...
1. **指令集**:每种处理器都有其独特的指令集,如x86或ARM。学习汇编语言首先要熟悉这些指令,比如数据转移指令(如MOV)、算术运算指令(如ADD、SUB)、逻辑运算指令(AND、OR)、控制流程指令(JMP、CALL)等。 ...
其中包括ARM体系介绍、ARM程序设计模型、ARM汇编语言程序设计、ARM C/C++语言程序设计、ARM连接器的使用、ARM集成开发环境CodeWarrior IDE的介绍及高性能的调试工具ADW的使用。并在此基础之上介绍一些典型的基于ARM...
例如,Intel的x86架构使用的是x86汇编语言,而ARM架构则使用ARM汇编语言。学习汇编语言对于理解计算机的工作原理、提高系统编程技能以及优化软件性能都有着重要的意义。 在汇编语言资源中,通常会包含一些基础的...
例如,x86架构的汇编语言与ARM架构的汇编语言就有很大的区别。因此,在进行汇编语言的学习时,了解目标处理器的架构是十分必要的。此外,汇编语言编程通常需要对计算机组成原理有较为深入的了解,包括CPU结构、内存...
其中包括ARM体系介绍、ARM程序设计模型、ARM汇编语言程序设计、ARM C/C++语言程序设计、ARM连接器的使用、ARM集成开发环境CodeWarrior IDE的介绍及高性能的调试工具ADW的使用。并在此基础之上介绍一些典型的基于ARM...
ADS(ARM Development Studio)是ARM公司提供的一款集成开发环境(IDE),专门用于开发基于ARM处理器的C和汇编语言应用程序。它集成了编译器、调试器和项目管理工具,为开发者提供了方便的开发环境。 在C语言程序...
1. **指令系统**:了解不同架构CPU的指令集,比如x86或ARM,理解每条指令的作用和使用方法。 2. **寻址模式**:理解立即寻址、直接寻址、间接寻址等多种寻址方式,以及它们在编程中的应用。 3. **寄存器操作**:...
6. **兼容性**:【汇编预言图形化编辑软件】可能支持多种汇编器,如VASM,这是一个流行的汇编器,能生成多种处理器架构(如x86, ARM等)的目标代码。 7. **教学辅助**:对于教育场景,软件可能包含练习题、实验指导...