2023/12/21作业

思维导图

代码

.text

.global _start

_start:

@灯1

@gpio时钟使能 4->1 0x5000A28

LDR R0,=0x50000A28 @指定寄存器地址

LDR R1,R0@将寄存器取出放到R1

ORR R1,R1,#(0x1<<4)@将第四位设置为1

STR R1,R0@读取R0寄存器到R1

@PE10为输出 21:20->01 0x50006000

LDR R0,=0X50006000

LDR R1,R0

BIC R1,R1,#(0x3<<20)

ORR R1,R1,#(0x1<<20)

STR R1,R0

@PE10为推挽输出10->0 0x50006004

LDR R0,=0X50006004

LDR R1,R0

BIC R1,R1,#(0x1<<10)

STR R1,R0

@PE10为低速输出 21:20->00 0x5006008

LDR R0,=0X50006008

LDR R1,R0

BIC R1,R1,#(0x3<<20)

STR R1,R0

@PE10为无上下拉电阻 21:20->00 0x500600c

LDR R0,=0X5000600c

LDR R1,R0

BIC R1,R1,#(0x3<<20)

STR R1,R0

@灯2

@gpio时钟使能 4->1 0x5000A28

LDR R0,=0x50000A28 @指定寄存器地址

LDR R1,R0@将寄存器取出放到R1

ORR R1,R1,#(0x1<<5)@将第五位设置为1

STR R1,R0@读取R0寄存器到R1

@PE10为输出 21:20->01 0x50007000

LDR R0,=0X50007000

LDR R1,R0

BIC R1,R1,#(0x3<<20)

ORR R1,R1,#(0x1<<20)

STR R1,R0

@PE10为推挽输出10->0 0x50007004

LDR R0,=0X50007004

LDR R1,R0

BIC R1,R1,#(0x1<<10)

STR R1,R0

@PE10为低速输出 21:20->00 0x5007008

LDR R0,=0X50007008

LDR R1,R0

BIC R1,R1,#(0x3<<20)

STR R1,R0

@PE10为无上下拉电阻 21:20->00 0x500700c

LDR R0,=0X5000700c

LDR R1,R0

BIC R1,R1,#(0x3<<20)

STR R1,R0

@灯3

@gpio时钟使能 4->1 0x5000A28

LDR R0,=0x50000A28 @指定寄存器地址

LDR R1,R0@将寄存器取出放到R1

ORR R1,R1,#(0x1<<4)@将第四位设置为1

STR R1,R0@读取R0寄存器到R1

@PE10为输出 17:16->01 0x50006000

LDR R0,=0X50006000

LDR R1,R0

BIC R1,R1,#(0x3<<16)

ORR R1,R1,#(0x1<<16)

STR R1,R0

@PE10为推挽输出8->0 0x50006004

LDR R0,=0X50006004

LDR R1,R0

BIC R1,R1,#(0x1<<8)

STR R1,R0

@PE10为低速输出 17:16->00 0x5006008

LDR R0,=0X50006008

LDR R1,R0

BIC R1,R1,#(0x3<<16)

STR R1,R0

@PE10为无上下拉电阻 17:16->00 0x500600c

LDR R0,=0X5000600c

LDR R1,R0

BIC R1,R1,#(0x3<<16)

STR R1,R0

flash:

bl led1_on

bl delay

bl led1_off

bl delay

bl led2_on

bl delay

bl led2_off

bl delay

bl led3_on

bl delay

bl led3_off

bl delay

bl led1_on

bl led2_on

bl led3_on

bl delay

bl led1_off

bl led2_off

bl led3_off

bl delay

b flash

@led1

led1_on:

@gpio10->1 0x50006014

LDR R0,=0X50006014

LDR R1,R0

ORR R1,R1,#(0x1<<10)

STR R1,R0

MOV PC,LR

led1_off:

@gpio10->0 0x50006014

LDR R0,=0X50006014

LDR R1,R0

BIC R1,R1,#(0x1<<10)

STR R1,R0

MOV PC,LR

@led2

led2_on:

@gpio10->1 0x50007014

LDR R0,=0X50007014

LDR R1,R0

ORR R1,R1,#(0x1<<10)

STR R1,R0

MOV PC,LR

led2_off:

@gpio10->0 0x50007014

LDR R0,=0X50007014

LDR R1,R0

BIC R1,R1,#(0x1<<10)

STR R1,R0

MOV PC,LR

@led3

led3_on:

@gpio10->1 0x50006014

LDR R0,=0X50006014

LDR R1,R0

ORR R1,R1,#(0x1<<8)

STR R1,R0

MOV PC,LR

led3_off:

@gpio10->0 0x50006014

LDR R0,=0X50006014

LDR R1,R0

BIC R1,R1,#(0x1<<8)

STR R1,R0

MOV PC,LR

delay:

LDR R3,=0X10000000

mm:

cmp r3,#0

subne r3,r3,#1

bne mm

mov pc,lr

.end

相关推荐
零涂毕业设计2 小时前
毕业设计模块开发-OLED显示屏(IIC协议0.96寸)STM32 ESP32 FPGA Linux驱动免费分享
linux·stm32·单片机·嵌入式·esp32·fpga·oled
wdfk_prog6 小时前
嵌入式面试真题第 13 题:单硬件 Timer 下的高精度多路软件定时器架构设计
c语言·开发语言·面试·职场和发展·嵌入式
潘潘的嵌入式日记1 天前
嵌入式安全重构——新老两套同时跑
嵌入式·架构设计·验证·代码重构
Fu_Lin_1 天前
Qt 嵌入式从零基础到精通总纲
开发语言·qt·嵌入式·qt嵌入式
学逆向的2 天前
汇编——寻址方式
开发语言·汇编·网络安全
潘潘的嵌入式日记2 天前
一个宏在调试阶段挡住所有误操作
安全·嵌入式··调试·编译期·bring-up
我不是QI2 天前
Master PDF Editor 逆向复现
汇编·安全·pdf
K成长日志5 天前
BLE链路层空口包--LE Uncoded PHY
物联网·嵌入式·蓝牙·iot·ble·无线·通信
凉、介6 天前
Virtio(三):Virtqueue 建立与 Buffer 提交
笔记·学习·嵌入式·arm·虚拟化·virtio
dddwjzx6 天前
嵌入式Linux C应用编程——Framebuffer应用编程
linux·嵌入式