`

ARM汇编作业1

 
阅读更多

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


 

0
3
分享到:
评论

相关推荐

    汇编作业 课后题 自己编的 正确

    1. **指令集架构(ISA)**:汇编语言是针对特定处理器的,每个处理器都有自己的指令集,如x86、ARM等。理解ISA是编写汇编程序的基础,因为每条汇编指令都对应一个特定的机器码操作。 2. **基本操作**:汇编语言主要...

    汇编语言 汇编语言X86和ARM使用配置说明

    汇编语言 汇编语言X86和ARM使用配置说明 【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM...

    csdn上的,汇编语言课程设计

    2. **汇编指令集**:学习汇编语言,必须熟悉特定架构(如x86或ARM)的指令集,包括数据操作指令、转移控制指令、I/O操作指令等。这些指令直接对应于计算机硬件的操作,是编写汇编程序的基础。 3. **程序设计**:...

    华中科技大学汇编语言的作业

    1. **指令系统**:掌握各种CPU架构(如x86或ARM)下的基本指令,如数据处理指令(加减乘除、位操作)、控制流程指令(跳转、分支、循环)以及输入输出指令等。理解每条指令的含义、用法及其对内存和寄存器的影响。 ...

    arm所有课后作业数据集

    Arm所有课后作业数据集 本资源摘要信息涵盖了Arm相关的课后作业数据集,涵盖了立即数、伪指令、空间局部性、时间局部性、 Cache 映射方式、页表、快表、寄存器等知识点。 一、立即数 立即数是指在指令中直接出现...

    汇编语言作业.zip

    - **面向特定体系结构**:汇编语言是为特定计算机体系结构(如x86、ARM、MIPS等)设计的,每种体系结构都有其专属的汇编语言。这意味着汇编程序通常不能直接在不同类型的处理器上运行,不具备源代码级别的可移植性...

    大一暑期汇编语言程序设计作业

    1. **指令集**:每种处理器都有其独特的指令集,如x86或ARM。学习汇编语言首先要熟悉这些指令,比如数据转移指令(如MOV)、算术运算指令(如ADD、SUB)、逻辑运算指令(AND、OR)、控制流程指令(JMP、CALL)等。 ...

    ARM体系结构与编程 part1

    其中包括ARM体系介绍、ARM程序设计模型、ARM汇编语言程序设计、ARM C/C++语言程序设计、ARM连接器的使用、ARM集成开发环境CodeWarrior IDE的介绍及高性能的调试工具ADW的使用。并在此基础之上介绍一些典型的基于ARM...

    ARM体系结构与编程 part2

    其中包括ARM体系介绍、ARM程序设计模型、ARM汇编语言程序设计、ARM C/C++语言程序设计、ARM连接器的使用、ARM集成开发环境CodeWarrior IDE的介绍及高性能的调试工具ADW的使用。并在此基础之上介绍一些典型的基于ARM...

    ARM的ADS, C语言程序数个

    ADS(ARM Development Studio)是ARM公司提供的一款集成开发环境(IDE),专门用于开发基于ARM处理器的C和汇编语言应用程序。它集成了编译器、调试器和项目管理工具,为开发者提供了方便的开发环境。 在C语言程序...

    汇编编程大作业实例源代码

    1. **指令系统**:了解不同架构CPU的指令集,比如x86或ARM,理解每条指令的作用和使用方法。 2. **寻址模式**:理解立即寻址、直接寻址、间接寻址等多种寻址方式,以及它们在编程中的应用。 3. **寄存器操作**:...

    汇编预言图形化编辑软件

    6. **兼容性**:【汇编预言图形化编辑软件】可能支持多种汇编器,如VASM,这是一个流行的汇编器,能生成多种处理器架构(如x86, ARM等)的目标代码。 7. **教学辅助**:对于教育场景,软件可能包含练习题、实验指导...

    赛车程序——汇编

    1. **汇编语言基础**: - **指令集**:汇编语言基于特定处理器的指令集,如x86或ARM。每个指令都代表一种CPU操作,如加载、存储、加法、跳转等。 - **符号表示**:汇编语言使用助记符来代替机器代码,如`MOV`...

    东北大学汇编实验

    1. **指令集架构(ISA)**:不同的处理器有不同的指令集,如x86或ARM。了解这些指令集是学习汇编的基础,例如,如何进行数据处理、内存访问以及控制流程转移。 2. **寄存器**:处理器内部的临时存储单元,用于快速...

    3个ARM嵌入式编程的例子,我的结课作业,共享了

    学习如何编写和理解ARM汇编代码是嵌入式编程的基础。例子中可能包含了一些基本的汇编程序,如初始化系统、内存管理、中断处理等。 3. **C/C++编程**: 虽然汇编语言提供最大的控制,但在实际项目中,更常用的是C/...

    汇编语言大作业,走管道小游戏.zip

    - **面向特定体系结构**:汇编语言是为特定计算机体系结构(如x86、ARM、MIPS等)设计的,每种体系结构都有其专属的汇编语言。这意味着汇编程序通常不能直接在不同类型的处理器上运行,不具备源代码级别的可移植性...

    201908010402-第二次作业.docx

    ARM汇编指令是ARM架构处理器程序设计的基础,它允许程序员直接与硬件交互,实现高效的数据处理和控制流程。了解和掌握ARM汇编指令不仅对于嵌入式系统开发至关重要,而且对于理解计算机科学的基本原理和计算机体系...

    unh-arm-assembly-spring2021:纽黑文大学ARM大会2021年Spring会议的作业

    这次大会的作业不仅让学生们有机会深化对汇编语言的理解,同时也为教师和业界专家提供了一个交流平台,共同研究如何在实际应用中发挥ARM汇编的优势。 ARM架构,全称Advanced RISC Machines,是广泛应用于移动设备、...

    基于汇编的流水灯的实现

    为了更好地学习和实践这些知识,你可以参考提供的"ARM作业二-汇编流水灯-渐变灯-蜂鸣器"压缩包中的文件,里面应该包含示例代码和相关的解释,通过实际操作和调试,加深对汇编语言和S3C2440硬件控制的理解。...

Global site tag (gtag.js) - Google Analytics