代码编织梦想

1、求两个数的最大公约数

逻辑如下图

 

.text
.global _start

_start:

	mov r0,#9     /*十进制的9*/
	mov r1,#15    /*十进制的15*/
	
	bl loop
loop:
	cmp r0,r1
	beq stop	/*两个数相等时调到stop*/
	subhi r0,r0,r1  /*r0=3*/
	subcc r1,r1,r0  /*r1=6,r1=3*/
	mov pc,lr    /*跳转到loop标签下的第一条指令执行*/
	
stop:
	b stop
.end

//仿真结果

 2、题目要求:

用汇编语言实现1~100之间之和(5050 = 0x13BA)

for(表达式1;表达式2;表达式3)

{

表达式4;

}

思考:循环条件怎么进行编写标签?

.text
.global _start
_start:

	mov r0,#1	 /*r0=1*/
	mov r2,#2    /*r2=2*/
	bl loop
loop:
	add r0,r0,r2       /*r0=r0+r2*/
	add r2,r2,#1       /*r2=r2+1*/
	cmp r2,#101        /*若r2=101,跳到stop*/
	beq stop
	mov pc,lr          /*跳转到标签下的第一条指令执行*/
	
	
stop:
	b stop
.end

//仿真结果

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wyl2333/article/details/128006309

ARM 内联汇编 加速 算法-爱代码爱编程

首推移动端arm cpu优化学习笔记第4弹--内联汇编入门,但是其只给出了代码,很多人还不知道怎么在手机上跑起来,其实只需要一个CMakeLists.txt就可以了. cmake_minimum_required(VERSION 2.8) set(PROJECT_NAME benchmark) project(${PROJECT_NAME}) set(C

日常编程心得-爱代码爱编程

2021年 2021年8月 1个字节8位二进制下,最小值-128的二进制是1000 0000这是人为规定的,-1的二进制是1111 1111。想一下为什么是这两个形式,因为-127=-128+1是1000 0001,-126是-128+21000 0010,那么-1就是-128+127=1111 1111。最短路径,通常用BFS来解决。单源最短路径使用

C语言重难点知识梳理与常见题目/项目游戏解析-爱代码爱编程

目录 1.[使用JetBrains_Clion编译环境搭建入门指南](https://zhuanlan.zhihu.com/p/40776005)2.VisualStudio运行后一闪而过和scanf函数的4996报错问题1.一闪而过2.scanf的error C49963.C语言中数据的存储1.数据类型介绍2.类型的基本归类1.整形家族2.浮点数

ARM 汇编(sum, gcd, lcm, sort, max, min, strcpy)-爱代码爱编程

1 一位数组按某种规律求和 1.1 一维数组求和 AREA ARRAYSUM, CODE, READONLY ENTRY START LDR R0, =src MOV R1, #0 MOV R3, #0 LOOP LDR R2, [R0] ADD R0, R0, #4 ADD R3, R3, #1 ADD R1, R1, R2

Python面试题整理-牛客网-爱代码爱编程

1、[单选题]关于Python内存管理,下列说法错误的是  A. 变量不必事先声明 B. 变量无须先创建和赋值而直接使用 C. 变量无须指定类型 D. 可以使用del释放资源 解析1:B Python 是弱类型脚本语言,变量就是变量,没有特定类型,因此不需要声明。 但每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 用 del 语句可以释放已创

9.8 arm练习_leelouo的博客-爱代码爱编程

使用指令求最大公约数   .text @文件段 .global _start @声明一个_start全局函数 _start: @_start代表是函数的入口 @汇编指令 mov r0,#9 mov r1,#15 cmp r0,r1 loop: beq stop subhi r0,r0,r1 subcc r1,r1,r

keil->汇编->汇编指令->day2_鲸叫我照顾海qaq的博客-爱代码爱编程

  目录 一、求公约数 1.1 代码 1.2 执行结果 二、 求和 2.1 代码 2.2 执行结果 作业1:求两个数最大公约数   作业2求1~100和 for循环进行编写 for(表达式1;表达式2;表达式3)         {                 表达式4;   

arm作业_pointerup的博客-爱代码爱编程

题目要求:用汇编语言实现1~100之间之和(5050 = 0x13BA) .text @文本段 .global _start @声明一个_start的全局函数 _start: @ _start 代表函数入喉 mov r0,#0x1 @ 循环初始值 mov r1,#0x0 @ 用于求和的值 add_func: add r1,r1,r0