ads1.2简单学习

下载安装 ADS1.2

效云高速直接下载 https://code.aliyun.com/734449600/ads1.2/repository/archive.zip?ref=master

百度龟速网盘
链接: https://pan.baidu.com/s/1rLiZU7EKshd-T-YZUJTwuA
提取码:upi7

安装

下载完成后进行安装,
注意安装过程中,不要含有中文,括号等字符
最好在c盘下直接创建 arm 安装到这里

安装license

选择安装包中crack 中的license.dat
在这里插入图片描述

添加crack

把解压后的 crack文件 拷贝到
安装目录下 和 bin同一个层次
在这里插入图片描述

设置兼容运行

右键运行图标
在属性中设置兼容 xp 模式,以及管理员运行
在这里插入图片描述

创建项目

在这里插入图片描述
选择左上角 file -》 new
在这里插入图片描述
点击确定,来到在这里插入图片描述

在这里插入图片描述
书写代码
保存为 code1.s ,预期执行结果,计算 sum(1-7) = 28

N EQU 7
 AREA Adding,CODE,READONLY
 ENTRY
 MOV R0,#0
 MOV R1,#1
REPEAT ADD R0,R0,R1
 ADD R1,R1,#1
 CMP R1,#N
 BLE REPEAT
 LDR R2,=RESULT
 STR R0,[R2]
HERE B HERE
 AREA Sundata,DATA,READWRITE
RESULT	DCD 0
 END

完成后保存

在这里插入图片描述

添加源文件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

自动出现
在这里插入图片描述

在这里插入图片描述

代码讲解

代码格式

arm 汇编 中 对格式要求比较严格,不像 x86 一样宽松
指令一律在 开头添加空格书写,
标号,变量一律 顶格书写
书写不对会弹出 ERROE UNKNOW OPCODE

代码内容说明

;赋值语句
N EQU 7

; 添加 叫做 CODE 的 只读 readonly 代码段
AREA Adding,CODE,READONLY

;开始
ENTRY

;设置 r0 =0 立即数
MOV R0,#0

;设置 R1 =1 立即数
MOV R1,#1

; 定义 循环 标号 repeat
REPEAT ADD R0,R0,R1 ; 把 r0 r1 相加保存到 r0

; r1=r1+1 寄存器加立即数
ADD R1,R1,#1

;比较 变量 N 和 R1 内容的 大小
CMP R1,#N

;Branch if Less than or Equal, 即小于或等于 跳转 到 repeat 标号
BLE REPEAT

; 把 result 地址放到 r2 中
LDR R2,=RESULT

; 把 r0 中的运算 结果 保存到 r2 所指 地址空间 ,即 -》 result 中
STR R0,[R2]

; 起始地址存储单元
HERE B HERE

; 定义数据段 data 可读可写
AREA Sumdata,DATA,READWRITE

;DCD:数据定义( Data Definition )伪指令
;一般用于为特定的数据分配存储单元,同时可完成已分配存储单元的初始化
RESULT DCD 0
END

其他常见指令拓展

改天再更

发布了101 篇原创文章 · 获赞 3 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43373608/article/details/104648170
1.2
今日推荐