当前位置: 首页 > news >正文

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

运行结果:

思维导图:

相关文章:

  • uni-app uni.scss内置全局样式变量
  • Flask 密码重设系统
  • 【轻松入门】OpenCV4.8 + QT5.x开发环境搭建
  • c语言广度优先搜索(Breadth-First Search,BFS)
  • highcharts的甘特图设置滚动时表头固定,让其他内容跟随滚动
  • 传感器基础:传感器使用与编程使用(三)
  • Linux上iPortal 配置80端口的http
  • 快速解决 npm 安装 node-sass 速度慢/错误的问题(nexus私服问题见上一篇博客)
  • 力扣热题100道-双指针篇
  • Flink1.17实战教程(第五篇:状态管理)
  • 文件操作安全之-目录穿越流量告警运营分析篇
  • Spring Boot整合RocketMQ
  • SSH秘钥登录服务器
  • Mybatis 动态 SQL - if
  • day44 1228
  • [ JavaScript ] 数据结构与算法 —— 链表
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • 2017-09-12 前端日报
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • Angular 响应式表单之下拉框
  • Apache的80端口被占用以及访问时报错403
  • C语言笔记(第一章:C语言编程)
  • ES6--对象的扩展
  • ES6系统学习----从Apollo Client看解构赋值
  • extjs4学习之配置
  • If…else
  • Javascript基础之Array数组API
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • Promise初体验
  • React as a UI Runtime(五、列表)
  • sessionStorage和localStorage
  • spring学习第二天
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 前嗅ForeSpider教程:创建模板
  • 少走弯路,给Java 1~5 年程序员的建议
  • 什么软件可以剪辑音乐?
  • 一个完整Java Web项目背后的密码
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • (2)nginx 安装、启停
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (阿里云万网)-域名注册购买实名流程
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (二)构建dubbo分布式平台-平台功能导图
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (转)C#调用WebService 基础
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)shell调试方法
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • (转载)虚函数剖析
  • **PHP分步表单提交思路(分页表单提交)
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .htaccess配置常用技巧