ARM作业1

汇编实现三个灯闪烁

汇编代码:

.text 
.global _start
_start: 
@设置GPIOE,GPIOF时钟使能LDR R0,=0X50000A28  LDR R1,[R0]  ORR R1,R1,#(0x3<<4)  STR R1,[R0] @设置PE10,PF10,PE8为输出
@LED1LDR  R0,=0X50006000LDR  R1,[R0]ORR R1,R1,#(0X1<<20)BIC R1,R1,#(0X1<<21)
@LED2LDR  R2,=0X50007000LDR  R3,[R2]ORR R3,R3,#(0X1<<20)BIC R3,R3,#(0X1<<21)STR R3,[R2]
@LED3ORR R1,R1,#(0X1<<16)BIC R1,R1,#(0X1<<17)STR R1,[R0]@设置PE10,PF10,PE8为推挽输出LDR R0,=0X50006004LDR R1,[R0]@LED1BIC R1,R1,#(0X1<<10)
@LED2LDR R2,=0X50007004LDR R3,[R2]BIC R3,R3,#(0X1<<10)STR R3,[R2]
@LED3BIC  R1,R1,#(0X1<<8)STR R1,[R0]@设置PE10,PF10,PE8为低速输出LDR R0,=0X50006008LDR R1,[R0]@LED1BIC R1,R1,#(0X3<<20)@LED2LDR R2,=0X50006008LDR R3,[R2]BIC R3,R3,#(0X3<<20)STR R3,[R2]
@LED3BIC R1,R1,#(0X3<<16)STR R1,[R0]@设置PE10,PF10,PE8输出时无上拉下拉电阻
@LED1LDR R0,=0X5000600CLDR R1,[R0]BIC R1,R1,#(0X3<<20)
@LED2LDR R2,=0X5000600CLDR R3,[R2]BIC R3,R3,#(0X3<<20)STR R3,[R2]
@LED3BIC R1,R1,#(0X3<<16)STR R1,[R0]FLASH:BL LED1_ONBL LED2_OFFBL LED3_ONBL DELAYBL LED1_OFFBL LED2_ONBL LED3_OFFBL DELAYB FLASH@LED1亮
LED1_ON:
@设置PE10输出高电平LDR R0,=0X50006014LDR R1,[R0]ORR R1,R1,#(0X1<<10)STR R1,[R0]MOV PC,LR@LED1灭
LED1_OFF:
@设置PE10输出低电平LDR R0,=0X50006014LDR R1,[R0]BIC R1,R1,#(0X1<<10)STR R1,[R0]MOV PC,LR@LED2亮
LED2_ON:
@设置PE10输出高电平LDR R0,=0X50007014LDR R1,[R0]ORR R1,R1,#(0X1<<10)STR R1,[R0]MOV PC,LR@LED2灭
LED2_OFF:
@设置PE10输出低电平LDR R0,=0X50007014LDR R1,[R0]BIC R1,R1,#(0X1<<10)STR R1,[R0]MOV PC,LR@LED3亮
LED3_ON:
@设置PE8输出高电平LDR R0,=0X50006014LDR R1,[R0]ORR R1,R1,#(0X1<<8)STR R1,[R0]MOV PC,LR@LED3灭
LED3_OFF:
@设置PE8输出低电平LDR R0,=0X50006014LDR R1,[R0]BIC R1,R1,#(0X1<<8)STR R1,[R0]MOV PC,LR@延时
DELAY:LDR  R3,=0x10000000
MM:CMP R3,#0SUBNE R3,R3,#1BNE MMMOV PC,LR.end

运行结果:

思维导图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/293476.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

清风数学建模学习笔记--灰色关联分析

一&#xff1a;内容&#xff1a;灰色关联分析 介绍&#xff1a;可以分析多个因素之间&#xff0c;哪一个对y的影响大&#xff0c;哪一个对y的影响小。之前学过回归分析中的标准化回归也可以分析&#xff0c;岭回归&#xff0c;lasso回归等都可以分析&#xff0c;那为什么要使用…

存 储 管 理

(1) 存储管理的任务和功能是什么&#xff1f; 解&#xff1a; 存储管理的主要任务是&#xff1a; 支持多道程序的并发执行&#xff0c;使多道程序能共享存储资源&#xff0c;在互不干扰的环境中并发执行。方便用户&#xff0c;使用户减少甚至摆脱对存储器的管理&#xff0c;使…

Tarjan-vDCC,点双连通分量,点双连通分量缩点

前言 双连通分量是无向图中的一个概念&#xff0c;它是指无向图中的一个极大子图&#xff0c;根据限制条件可以分为边双连通分量和点双连通分量&#xff0c;欲了解双连通分量需先了解Tarjan算法&#xff0c;以及割点割边的概念及求解。本篇博客介绍点双连通分量的相关内容。 前…

Redis取最近10条记录

有时候我们有这样的需求&#xff0c;就是取最近10条数据展示&#xff0c;这些数据不需要存数据库&#xff0c;只用于暂时最近的10条&#xff0c;就没必要在用到Mysql类似的数据库&#xff0c;只需要用redis即可&#xff0c;这样既方便也快&#xff01; 具体取最近10条的方法&a…

千帆 AppBuilder 初体验,不仅解决解决了我筛选简历的痛苦,更是让提效10倍!

文章目录 &#x1f31f; 前言&#x1f31f; 什么是百度智能云千帆 AppBuilder&#x1f31f; 百度智能云千帆 AppBuilder 初体验&#x1f31f; 利用千帆AppBuilder搭建简历小助手&#x1f31f; 让人眼前一亮的神兵利器 - 超级助理 &#x1f31f; 前言 前两天朋友 三掌柜 去北京…

如何搭建Web自动化测试框架?

在程序员的世界中&#xff0c;一切重复性的工作&#xff0c;都应该通过程序自动执行。「自动化测试」就是一个最好的例子。 随着互联网应用开发周期越来越短&#xff0c;迭代速度越来越快&#xff0c;只会点点点&#xff0c;不懂开发的手工测试&#xff0c;已经无法满足如今的…

【计算机系统结构实验】实验5 多核编程(OpenMP编程)

5.1 实验目的 加深对多核处理器架构的理解&#xff1b; 掌握使用OpenMP进行多线程编程的基本方法&#xff1b; 学习Windows和OpenEuler环境下多核编程的过程和time命令&#xff1b; 5.2 实验平台 需要多核处理器的计算机和微软编程工具Visual Studio 2012。Taishan服务器&…

macOS 开发 - MASShortcut

文章目录 关于 MASShortcut项目结构 快速使用源码学习检测是否有热键冲突处理 Event macOS 开发交流 秋秋群&#xff1a;644096295&#xff0c;V : ez-code 关于 MASShortcut MASShortcut 是一款快捷键管理工具&#xff0c;替代和兼容 ShortcutRecorder github : https://git…

【万能技巧】IP知识速通与小技巧~

本文目录 前言一、网络代理IP简介二、IPIDEA 优势2.1 多种类型IP代理2.2 海量纯净代理池2.3 稳定高效数据收集架构 三、IP实操小Tips3.1 查看本地网络IP3.2 使用浏览器IP3.3 使用IPIDEA进行爬虫实操 前言 各位友友&#xff0c;大家好&#xff0c;马上就到2024年了&#xff0c;…

一款外置MOS开关降压型 LED 恒流控制器应用方案

一、基本概述 TX6121 是一款高效率、高精度的降压型大功率 LED 恒流驱动控制器芯片。芯片采用固定关断时间的峰值电流控制方式&#xff0c;关断时间可通过外部电容进行调节&#xff0c;工作频率可根据用户要求而改变。 通过调节外置的电流采样电阻&#xff0c;能控制高亮度 LE…

引领汽车营销新趋势,3DCAT实时云渲染助力汽车三维可视化

当前&#xff0c;汽车产业发展正从电动化的上半场&#xff0c;向智能化的下半场迈进。除了车机技术体验的智能化之外&#xff0c;观车体验的智能化也不容忽视。 这是因为&#xff0c;随着数字化、智能化、个性化的趋势&#xff0c;消费者对汽车的需求和期待也越来越高&#xf…

【华为鸿蒙系统学习】- HarmonyOS4.0之App项目开发|自学篇

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 &#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 目录 创建鸿蒙第一个App项目 项目创建 工程目录区 预览区 运行Hello World 基本工程目录 ws:工…