ARM_汇编流水灯

ARM_汇编流水灯

复制代码
.text 
.global _start
_start: 
	@设置GPIOE寄存器的时钟使能
	ldr r0,=0x50000A28
	ldr r1,[r0] 		@从r0为起始地址的4字节数据取出存入r1
	orr r1,r1,#(0x01<<4)  @第4位设置为1 表示开启时钟使能
	orr r1,r1,#(0x01<<5)  @第5位设置为1 表示开启时钟使能
	str r1,[r0]   @写入

	@设置PE10的管脚为输出模式
	ldr r0 , =0x50006000
	ldr r1,[r0]
	bic r1,r1,#(0x03<<20) @清零
	orr r1,r1,#(0x01<<20) @01 输出模式
	str r1,[r0]

	ldr r0 , =0x50007000
	ldr r1,[r0]
	bic r1,r1,#(0x03<<20) @清零
	orr r1,r1,#(0x01<<20) @01 输出模式
	str r1,[r0]

	ldr r0 , =0x50006000
	ldr r1,[r0]
	bic r1,r1,#(0x03<<16) @清零
	orr r1,r1,#(0x01<<16) @01 输出模式
	str r1,[r0]

	@设置PE10的管脚为推挽输出
	ldr r0, = 0x50006004
	ldr r1,[r0]
	bic r1,r1,#(0x01<<10) @清零
	str r1,[r0]

	ldr r0, = 0x50007004
	ldr r1,[r0]
	bic r1,r1,#(0x01<<10) @清零
	str r1,[r0]

	
	ldr r0, = 0x50006004
	ldr r1,[r0]
	bic r1,r1,#(0x01<<8) @清零
	str r1,[r0]

	@设置PE10的管脚为底速模式
	ldr r0, = 0x50006008
	ldr r1,[r0]
	bic r1,r1,#(0x03<<20) @清零
	str r1,[r0]

	ldr r0, = 0x50007008
	ldr r1,[r0]
	bic r1,r1,#(0x03<<20) @清零
	str r1,[r0]

	ldr r0, = 0x50006008
	ldr r1,[r0]
	bic r1,r1,#(0x03<<16) @清零
	str r1,[r0]

	@设置PE10的管脚输出时没有上拉下拉电阻
	ldr r0, = 0x5000600C
	ldr r1,[r0]
	bic r1,r1,#(0x03<<20) @清零
	str r1,[r0]
	
	ldr r0, = 0x5000700C
	ldr r1,[r0]
	bic r1,r1,#(0x03<<20) @清零
	str r1,[r0]
	
	ldr r0, = 0x5000600C
	ldr r1,[r0]
	bic r1,r1,#(0x03<<16) @清零
	str r1,[r0]


	@PE10输出高低电平
loop:
	@1亮
	ldr r0, = 0x50006014
	ldr r1,[r0]
	orr r1,r1,#(0x01<<10)
	str r1,[r0]
	bl dealy
	
	@1灭
	ldr r0, = 0x50006014
	ldr r1,[r0]
	bic r1,r1,#(0x01<<10)
	str r1,[r0]
	bl dealy
	
	@2亮
	ldr r0, = 0x50007014
	ldr r1,[r0]
	orr r1,r1,#(0x01<<10)
	str r1,[r0]
	bl dealy
	
	@2灭
	ldr r0, = 0x50007014
	ldr r1,[r0]
	bic r1,r1,#(0x01<<10)
	str r1,[r0]
	bl dealy

	@3亮
	ldr r0, = 0x50006014
	ldr r1,[r0]
	orr r1,r1,#(0x01<<8)
	str r1,[r0]
	bl dealy
	
	@3灭
	ldr r0, = 0x50006014
	ldr r1,[r0]
	bic r1,r1,#(0x01<<8)
	str r1,[r0]
	bl dealy

	b loop


dealy:
	ldr r4,=0x10000000

mm:
	cmp r4,#0
	subne r4,r4,#1
	bne mm
	mov pc,lr

.end
相关推荐
是星辰吖~10 小时前
X86反汇编:透视之眼_反编译特训(1-2)
汇编
一抹晴空11 小时前
Keil MDK AC6 compiler编译报错,与AC5区别
c语言·arm开发·单片机
运维成长记12 小时前
关于“有x86镜像,没有Dockerfile” 怎么制作arm架构的镜像
arm开发·架构
是星辰吖~17 小时前
X86反汇编:破茧成蝶 —— 赤裸逻辑与机械之心(1-1)
汇编
熠速19 小时前
PolarBox高性能实时仿真系统
arm开发·fpga开发·嵌入式实时数据库·硬件在环半实物仿真
逆向命运20 小时前
PC企微搜索手机号窗口绕过
c语言·汇编·c++·飞书·企业微信
天下·第二2 天前
如何在【x86】服务器上打包构建【arm】镜像
服务器·arm开发·eureka
是星辰吖~2 天前
函数战争:内存领地的争夺与撤退
汇编
止观止2 天前
在 WSL2 上从零搭建 ARM 混合编程环境
汇编·arm开发·嵌入式开发·混合编程
陌上花开缓缓归以2 天前
nand flash bbt和bmt管理
arm开发