ARM day4 作业

1,点亮三个灯,并闪烁

.text 
.global _start
_start:

@led1灯
    @设置GPIOE时钟使能   RCC_MP_AHB4ENSETR[4]->1  @0X50000A28
    LDR R0,=0X50000A28
    LDR R1,[R0]
    ORR R1,R1,#(0x1<<4)
    STR R1,[R0]

    @设置PE10为输出 GPIOE_MODER[21:20]->01   0X50006000
    LDR  R0,=0X50006000
    LDR R1,[R0]
    BIC R1,R1,#(0x3<<20)
    ORR R1,R1,#(0x1<<20)
    STR R1,[R0]

    @设置PE10为推挽输出  GPIOE_OTYPER[10]->0  0X50006004
    LDR R0,=0X50006004
    LDR R1,[R0]
    BIC R1,R1,#(0x1<<10)
    STR R1,[R0]

    @设置PE10为低速输出  GPIOE_OSPEEDR[21:20]->00  0X50006008
    LDR R0,=0X50006008
    LDR R1,[R0]
    BIC R1,R1,#(0x3<<20)
    STR R1,[R0]

    @设置PE10输出时无上拉下拉电阻  GPIOE_PUPDR[21:20]->00  0X5000600C
    LDR R0,=0X5000600C
    LDR R1,[R0]
    BIC R1,R1,#(0x3<<20)
    STR R1,[R0]


@led2灯

   LDR R2,=0X50000A28
    LDR R3,[R2]
    ORR R3,R3,#(0x1<<5)
    STR R3,[R2]

 
    LDR  R2,=0X50007000
    LDR R3,[R2]
    BIC R3,R3,#(0x3<<20)
    ORR R3,R3,#(0x1<<20)
    STR R3,[R2]

  
    LDR R2,=0X50007004
    LDR R3,[R2]
    BIC R3,R3,#(0x1<<10)
    STR R3,[R2]

    
    LDR R2,=0X50007008
    LDR R3,[R2]
    BIC R3,R3,#(0x3<<20)
    STR R3,[R2]

    
    LDR R2,=0X5000700C
    LDR R3,[R2]
    BIC R3,R3,#(0x3<<20)
    STR R3,[R2]

    


@led3灯
    
    LDR  R4,=0X50006000
    LDR R5,[R4]
    BIC R5,R5,#(0x3<<16)
    ORR R5,R5,#(0x1<<16)
    STR R5,[R4]

  
    LDR R4,=0X50006004
    LDR R5,[R4]
    BIC R5,R5,#(0x1<<8)
    STR R5,[R4]


    LDR R4,=0X50006008
    LDR R5,[R4]
    BIC R5,R5,#(0x3<<16)
    STR R5,[R4]

    
    LDR R4,=0X5000600C
    LDR R5,[R4]
    BIC R5,R5,#(0x3<<16)
    STR R5,[R4]

loop:

    bl led1_on
    bl led2_on
    bl led3_on
    bl delay
    bl led1_off
    bl led2_off
    bl led3_off
    bl delay
    b loop

led1_on:
    LDR R0,=0X50006014
    LDR R1,[R0]
    ORR R1,R1,#(0x1<<10)
    STR R1,[R0]
    mov pc,lr

led1_off:
    LDR R0,=0X50006014
    LDR R1,[R0]
    BIC R1,R1,#(0x1<<10)
    STR R1,[R0]
    mov pc,lr

led2_on:
    LDR R2,=0X50007014
    LDR R3,[R2]
    ORR R3,R3,#(0x1<<10)
    STR R3,[R2]
    mov pc,lr

led2_off:
    LDR R2,=0X50007014
    LDR R3,[R2]
    BIC R3,R3,#(0x1<<10)
    STR R3,[R2]
    mov pc,lr

led3_on:
    LDR R4,=0X50006014
    LDR R5,[R4]
    ORR R5,R5,#(0x1<<8)
    STR R5,[R4]
    mov pc,lr

led3_off:
    LDR R4,=0X50006014
    LDR R5,[R4]
    BIC R5,R5,#(0x1<<8)
    STR R5,[R4]
    mov pc,lr

delay:
    LDR R6,=0X10000000
mm:
    cmp r6,#0
    subne r6,r6,#1
    bne mm
    mov pc,lr

.end

2,思维导图

相关推荐

  1. <span style='color:red;'>ARMday</span>7

    ARMday7

    2023-12-23 12:08:03      34 阅读
  2. <span style='color:red;'>ARMday</span>9

    ARMday9

    2023-12-23 12:08:03      37 阅读
  3. ARMday6

    2023-12-23 12:08:03       15 阅读
  4. <span style='color:red;'>ARMday</span>7

    ARMday7

    2023-12-23 12:08:03      21 阅读
  5. ARMday8

    2023-12-23 12:08:03       18 阅读
  6. ARMday5

    2023-12-23 12:08:03       18 阅读
  7. ARMday1

    2023-12-23 12:08:03       19 阅读
  8. ARMday2

    2023-12-23 12:08:03       10 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-23 12:08:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-23 12:08:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-23 12:08:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-23 12:08:03       20 阅读

热门阅读

  1. 【WPF】 使用UserControl并在XAML中赋初始值

    2023-12-23 12:08:03       33 阅读
  2. 观察者模式 Observer

    2023-12-23 12:08:03       43 阅读
  3. 渗透测试和风险评估之间的区别

    2023-12-23 12:08:03       34 阅读
  4. wpf-MVVM绑定时可能出现的内存泄漏问题

    2023-12-23 12:08:03       38 阅读
  5. P5410 【模板】扩展 KMP/exKMP(Z 函数)

    2023-12-23 12:08:03       35 阅读
  6. Vue中的插槽和自定义指令

    2023-12-23 12:08:03       33 阅读
  7. 【安全】audit的一些问题以及需要注意的地方

    2023-12-23 12:08:03       42 阅读
  8. 二分查找(红蓝染色法)

    2023-12-23 12:08:03       45 阅读