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

做网站宽度网站交易平台

做网站宽度,网站交易平台,茂名做网站,营销网站的例子要求: 1、轮流将LED1、LED2、LED3及蜂鸣器点亮 2、基于STM32MP157AAA,阅读原理图和STM32MP157芯片手册 3、ARM汇编指令点灯 1、运行效果 汇编点灯 2、通过查询原理图和芯片手册,得到以下结论: 3、汇编源码 .text .global _start…

要求:

1、轮流将LED1、LED2、LED3及蜂鸣器点亮

2、基于STM32MP157AAA,阅读原理图和STM32MP157芯片手册

3、ARM汇编指令点灯

1、运行效果

汇编点灯

2、通过查询原理图和芯片手册,得到以下结论:

3、汇编源码

.text 
.global _start
_start:
@R0 存放寄存器在内存中的map地址
@R1 存放寄存器的值@1 配置RCC: LD1、LD2、LD3和蜂鸣器的使能
ldr R0, =(0x50000000+0xA28)
ldr R1, [R0]
orr R1, R1, #0x32
str R1, [R0]@2 配置MODER寄存器
@2.1 配置LED1、LED3
ldr R0, =0x50006000
ldr R1, [R0]
bic R1, #(0x33<<16)
orr R1, #(0x11<<16)
str R1, [R0]
@2.2 配置LED2
ldr R0, =0x50007000
ldr R1, [R0]
bic R1, #(0x3<<20)
orr R1, #(0x1<<20)
str R1, [R0]
@2.3 配置蜂鸣器
ldr R0, =0x50003000
ldr R1, [R0]
bic R1, #(0x3<<12)
orr R1, #(0x1<<12)
str R1, [R0]@3 配置OTYPER寄存器
@3.1 配置LED1、LED3
ldr R0, =(0x50006000+0x04)
ldr R1, [R0]
bic R1, #(0x5<<8)
str R1, [R0]
@3.2 配置LED2
ldr R0, =(0x50007000+0x04)
ldr R1, [R0]
bic R1, #(0x1<<10)
str R1, [R0]
@3.3 配置蜂鸣器
ldr R0, =(0x50003000+0x04)
ldr R1, [R0]
bic R1, #(0x1<<6)
str R1, [R0]@4 配置OSPEEDR寄存器
@4.1 配置LED1、LED3
ldr R0, =(0x50006000+0x08)
ldr R1, [R0]
bic R1, #(0x33<<16)
str R1, [R0]
@4.2 配置LED2
ldr R0, =(0x50007000+0x08)
ldr R1, [R0]
bic R1, #(0x3<<20)
str R1, [R0]
@4.3 配置蜂鸣器
ldr R0, =(0x50003000+0x08)
ldr R1, [R0]
bic R1, #(0x3<<12)
str R1, [R0]@5 配置PUPDR寄存器
@5.1 配置LED1、LED3
ldr R0, =(0x50006000+0x0C)
ldr R1, [R0]
bic R1, #(0x33<<16)
str R1, [R0]
@5.2 配置LED2
ldr R0, =(0x50007000+0x0C)
ldr R1, [R0]
bic R1, #(0x3<<20)
str R1, [R0]
@5.3 配置蜂鸣器
ldr R0, =(0x50003000+0x0C)
ldr R1, [R0]
bic R1, #(0x3<<12)
str R1, [R0]@死循环让
loop:bl bee_offbl led1_onbl delay	bl led1_offbl led2_onbl delaybl led2_offbl led3_onbl delaybl led3_offbl bee_onbl delayb loopdelay:mov R10, #0x10000000
d2:sub R10, R10, #1cmp R10, #0bne d2mov PC, LRled1_on:
ldr R0, =(0x50006000+0x14)
ldr R1, [R0]
orr R1, #(0x1<<10)
str R1, [R0]
mov PC, LRled2_on:
ldr R0, =(0x50007000+0x14)
ldr R1, [R0]
orr R1, #(0x1<<10)
str R1, [R0]
mov PC, LRled3_on:
ldr R0, =(0x50006000+0x14)
ldr R1, [R0]
orr R1, #(0x1<<8)
str R1, [R0]
mov PC, LRbee_on:
ldr R0, =(0x50003000+0x14)
ldr R1, [R0]
orr R1, #(0x1<<6)
str R1, [R0]
mov PC, LRled1_off:
ldr R0, =(0x50006000+0x14)
ldr R1, [R0]
bic R1, #(0x1<<10)
str R1, [R0]
mov PC, LRled2_off:
ldr R0, =(0x50007000+0x14)
ldr R1, [R0]
bic R1, #(0x1<<10)
str R1, [R0]
mov PC, LRled3_off:
ldr R0, =(0x50006000+0x14)
ldr R1, [R0]
bic R1, #(0x1<<8)
str R1, [R0]
mov PC, LRbee_off:
ldr R0, =(0x50003000+0x14)
ldr R1, [R0]
bic R1, #(0x1<<6)
str R1, [R0]
mov PC, LR.end

4、疑问

4.1 汇编代码优化

        从源码中可以看出,其实有大量的重复代码,作为一名“资深”程序员,很想抽成一个一个的函数。但是实际中,这样做一定有大量的push/pop操作,而且如果程序段跨度过大,代码段的交替跳转,有可能还会影响程序执行效率(CPU会将执行代码的前后一段调入到多级缓存中,以提升执行效率)。

        因此,在编写汇编的时候,应该遵循执行效率优先,还是可读性和可复用性呢?

4.2 一段反汇编代码

 如图所示, =(0x50000000+0xA28)被译成了[pc, #444], 不太理解。

http://www.shuangfujiaoyu.com/news/61376.html

相关文章:

  • 做网站贵么seo在线培训机构排名
  • 如何做网站推广精nba排名榜
  • 如何给网站添加cnzzseo推广的全称是
  • 云盘做网站空间江苏seo团队
  • 强的网站建设徐州自动seo
  • 温州专业网站建设公司全媒体运营师报名费多少钱
  • 做a 免费网站有哪些在线培训网站
  • 孔家庄网站建设百度注册公司网站
  • 企业网站开发研究现状竞价网络推广培训
  • 南宁制作营销型网站百度地图关键词排名优化
  • 江苏建设工程信息网站优化大师优化项目有哪些
  • 网站开发意义360推广登录入口
  • 做的好详情页网站刚刚中国宣布重大消息
  • 做软装设计能用到的网站有哪些seo学徒招聘
  • 在线聊天网站怎么做直通车推广怎么收费
  • 做网站订单东莞做网络推广的公司
  • 山西省网站建设价格赣州是哪个省
  • 永州企业网站开发seo排名需要多少钱
  • wordpress bindchat北京seo推广系统
  • wordpress mycredseo用什么论坛引流
  • 印度做批发的网站有哪些中国国家数据统计网
  • 移动网站转码外贸推广平台哪个好
  • 企业网站的建设 任务书nba新闻最新消息
  • ps做的图片能做直接做网站吗南昌seo营销
  • 深圳做网站的好公司有哪些怎样在百度上发表文章
  • 上海十大网站建设网络热词有哪些
  • 设计方案表网站名称必应搜索引擎首页
  • 哪个网站可以做危险化学品供求查询网
  • 安徽天筑建设集团网站下列关于seo优化说法不正确的是
  • 小萝做h视频网站上海网络推广培训学校