2024-4-11-arm作业

汇编实现三个灯的闪烁

源代码:

.text 
.global _start 
_start: @时钟使能LDR r0,=0x50000A28ldr r1,[r0]orr  r1,r1,#(0x3<<4)str r1,[r0]@设置PE10输出LDR r0,=0x50006000ldr r1,[r0]bic r1,r1,#(0x3<<20)orr r1,r1,#(0x1<<20)str r1,[r0]@设置PE10为推挽模式LDR r0,=0x50006004ldr r1,[r0]bic r1,r1,#(0x1<<10)str r1,[r0]@设置PE10为低速模式LDR r0,=0x50006008ldr r1,[r0]bic r1,r1,#(0x3<<20)str r1,[r0]@设置PE10无上拉下拉电阻LDR r0,=0x5000600Cldr r1,[r0]bic r1,r1,#(0x3<<20)str r1,[r0]@设置PF10输出LDR r0,=0x50007000ldr r1,[r0]bic r1,r1,#(0x3<<20)orr r1,r1,#(0x1<<20)str r1,[r0]@设置PF10为推挽模式LDR r0,=0x50007004ldr r1,[r0]bic r1,r1,#(0x1<<10)str r1,[r0]@设置PF10为低速模式LDR r0,=0x50007008ldr r1,[r0]bic r1,r1,#(0x3<<20)str r1,[r0]@设置PF10无上拉下拉电阻LDR r0,=0x5000700Cldr r1,[r0]bic r1,r1,#(0x3<<20)str r1,[r0]@设置PE8输出LDR r0,=0x50006000ldr r1,[r0]bic r1,r1,#(0x3<<16)orr r1,r1,#(0x1<<16)str r1,[r0]@设置PE8为推挽模式LDR r0,=0x50006004ldr r1,[r0]bic r1,r1,#(0x1<<8)str r1,[r0]@设置PE8为低速模式LDR r0,=0x50006008ldr r1,[r0]bic r1,r1,#(0x3<<16)str r1,[r0]@设置PE8无上拉下拉电阻LDR r0,=0x5000600Cldr r1,[r0]bic r1,r1,#(0x3<<16)str r1,[r0]@不让程序结束
loop:@实现闪烁bl led1_onbl delaybl led1_offbl led2_onbl delaybl led2_offbl led3_onbl delaybl led3_offbl delayb loopdelay:LDR r3,=0x08000000cmpf:cmp r3,#0subne r3,r3,#1bne cmpfmov pc,lrled1_on:LDR r0,=0x50006014ldr r1,[r0]orr r1,r1,#(0x1<<10)str r1,[r0]mov pc,lrled1_off:LDR r0,=0x50006014ldr r1,[r0]bic r1,r1,#(0x1<<10)str r1,[r0]mov pc,lrled2_on:LDR r0,=0x50007014ldr r1,[r0]orr r1,r1,#(0x1<<10)str r1,[r0]mov pc,lrled2_off:LDR r0,=0x50007014ldr r1,[r0]bic r1,r1,#(0x1<<10)str r1,[r0]mov pc,lrled3_on:LDR r0,=0x50006014ldr r1,[r0]orr r1,r1,#(0x1<<8)str r1,[r0]mov pc,lrled3_off:LDR r0,=0x50006014ldr r1,[r0]bic r1,r1,#(0x1<<8)str r1,[r0]mov pc,lr.end

现象:

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

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

相关文章

Android源码解析之截屏事件流程

今天这篇文章我们主要讲一下Android系统中的截屏事件处理流程。用过android系统手机的同学应该都知道&#xff0c;一般的android手机按下音量减少键和电源按键就会触发截屏事件&#xff08;国内定制机做个修改的这里就不做考虑了&#xff09;。那么这里的截屏事件是如何触发的呢…

test4122

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和…

Shenandoah GC算法

概述 最早由Red Hat公司发起&#xff0c;目标是利用现代多核CPU的优势&#xff0c;减少大堆内存在GC时产生的停顿时间。随OpenJDK 12一起发布&#xff0c;暂停时间不依赖于堆的大小&#xff1b;这意味着无论堆的大小如何&#xff0c;暂停时间都是差不多的。 Shenandoah最初的…

Multisim仿真二极管、晶体管和场效应管学习笔记

Multisim仿真二极管、晶体管和场效应管 &#xff08;note&#xff1a;使用Multisim14.0版本进行仿真&#xff09; 文章目录 Multisim仿真二极管、晶体管和场效应管二极管的I-V特性晶体管的I-V特性场效应管的I-V特性 二极管的I-V特性 插入I-V analyzer 原理图绘制 改变仿真…

【Python】Python城乡人口数据分析可视化(代码+数据集)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

c# .net 香橙派 Orangepi GPIO高低电平、上升沿触发\下降沿触发 监听回调方法

c# .net 香橙派GPIO高低电平、上升沿触发\下降沿触发 监听回调方法 通过gpio readall 查看 gpio编码 这里用orangepi zero3 ,gpio= 70为例 当gpio 70 输入高电平时,触发回调 c# .net 代码 方法1: Nuget 包 System.Device.Gpio ,微软官方库对香橙派支持越来越好了,用得…

日程安排组件DHTMLX Scheduler v7.0新版亮点 - 拥有多种全新的主题

DHTMLX Scheduler是一个类似于Google日历的JavaScript日程安排控件&#xff0c;日历事件通过Ajax动态加载&#xff0c;支持通过拖放功能调整事件日期和时间&#xff0c;事件可以按天、周、月三个种视图显示。 备受关注的DHTMLX Scheduler 7.0版本日前正式发布了&#xff0c;如…

为什么你选择成为一名程序员?

逐码探梦&#xff1a;我选择程序员之路 在数字化的纹理中编织梦想&#xff0c;于逻辑的海洋里追寻真理&#xff0c;程序员&#xff0c;这个职业对我而言不仅仅是一份工作&#xff0c;更是一扇通向无限可能性的大门。选择成为一名程序员&#xff0c;是一个交织着兴趣和职业规划…

Python中sort()函数、sorted()函数的用法深入讲解(具体实例:蓝桥杯数位排序)

前置知识&#xff1a; 可迭代对象的定义&#xff1a;可迭代对象是指可以被迭代或遍历的对象&#xff0c;即可以使用循环结构对其进行逐个访问的对象。 在Python中常见的可迭代对象有&#xff1a;列表(list)、元组&#xff08;tuple&#xff09;、字符串&#xff08;sting&…

微信小程序 django+nodejs电影院票务售票选座系统324kd

小程序Android端运行软件 微信开发者工具/hbuiderx uni-app框架&#xff1a;使用Vue.js开发跨平台应用的前端框架&#xff0c;编写一套代码&#xff0c;可编译到Android、小程序等平台。 前端&#xff1a;HTML5,CSS3 VUE 后端&#xff1a;java(springbootssm)/python(flaskdja…

Django框架的基础知识

Django&#xff08;英文发音&#xff1a;dʒŋgəʊ&#xff09;是一个开放源代码的Web应用框架&#xff0c;使用高性能的Python语言编写而成。Django框架的诞生&#xff0c;最初是用来开发和管理Lawrence Publishing Group&#xff08;劳伦斯出版集团&#xff09;旗下的新闻网…

【Mysql高可用集群-双主双活-myql+keeplived】

Mysql高可用集群-双主双活-myqlkeeplived 一、介绍二、准备工作1.两台centos7 linux服务器2.mysql安装包3.keepalived安装包 三、安装mysql1.在128、129两台服务器根据《linux安装mysql服务-两种安装方式教程》按方式一安装好mysql应用。2.修改128服务器/etc/my.cnf配置文件&am…