`

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
分享到:
评论

相关推荐

    (源码)项目名称基于C和ARM汇编语言的Master Mind游戏系统.zip

    本项目是F28HS “Hardware Software Interface” 课程的课程作业2,旨在使用C语言和ARM汇编语言实现一个Master Mind游戏系统。系统涉及与LED、按钮和LCD等硬件的交互,以及游戏逻辑的实现。 ### 项目的主要特性和...

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

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

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

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

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

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

    嵌入式系统原理及应用第三章习题.docx

    本章节习题主要涵盖了嵌入式系统原理及应用中的软件作业习题,涵盖了 Arm 汇编语言编程、数据传输、数值比较、字符串处理等多个方面。 1. 软件作业习题3: 本习题要求将存储器中 0x400000 开始的 200 字节的数据...

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

    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...

    汇编语言-汇编语言资源

    例如,Intel的x86架构使用的是x86汇编语言,而ARM架构则使用ARM汇编语言。学习汇编语言对于理解计算机的工作原理、提高系统编程技能以及优化软件性能都有着重要的意义。 在汇编语言资源中,通常会包含一些基础的...

    MUC-汇编语言程序设计平时作业相关代码和结果截图

    例如,x86架构的汇编语言与ARM架构的汇编语言就有很大的区别。因此,在进行汇编语言的学习时,了解目标处理器的架构是十分必要的。此外,汇编语言编程通常需要对计算机组成原理有较为深入的了解,包括CPU结构、内存...

    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. **教学辅助**:对于教育场景,软件可能包含练习题、实验指导...

Global site tag (gtag.js) - Google Analytics