2024.4.11

这段代码展示了在ARM微控制器中使用LDRR(LoadRegisterwithRegisterandRotateRight),ORRR(ORRegisterwithRotateRight),BICR(BitwiseANDNOTtoaMask)和STRR(StoreRegister)指令来操作内存并控制LED状态的过程,包括LED_ON、LED_OFF以及DELAY函数的实现。
摘要由CSDN通过智能技术生成
text 
.global _start
_start: 
           LDR      R0,=0X50000A28
           LDR      R1,[R0]
           ORR      R1,R1,#(0X1<<4)
           STR      R1,[R0]


          LDR      R0,=0X50006000
          LDR      R1,[R0]
          BIC      R1,R1,#(0X3<<20)  
          ORR       R1,R1,#(0X1<<20)
          STR     R1,[R0]

          LDR      R0,=0X50006004
           LDR      R1,[R0]
           AND     R1,R1,#(0X0<<10)
           STR      R1,[R0]

            LDR      R0,=0X50006008
           LDR      R1,[R0]
           BIC      R1,R1,#(0X3<<20)
           STR      R1,[R0]

           LDR      R0,=0X5000600C
           LDR      R1,[R0]
           BIC     R1,R1,#(0X3<<20)
           STR     R1,[R0]


         
         
         
            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,R2,#(0X1<<20)
          STR     R3,[R2]

          LDR      R2,=0X50007004
           LDR      R3,[R2]
           AND     R3,R3,#(0X0<<10)
           STR      R3,[R2]

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

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





         LDR      R4,=0X50000A28
           LDR      R5,[R4]
           ORR      R5,R5,#(0X1<<4)
           STR      R5,[R4]


          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]
           AND     R5,R5,#(0X0<<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   LED_ON
            bl    DELAY
            bl    LED_OFF
            bl    DELAY
            b     LOOP



        LED_ON:
                        LDR      R0,=0X50006014
                         LDR      R1,[R0]
                         ORR      R1,R1,#(0X1<<10)
                         STR      R1,[R0]

                        LDR      R2,=0X50007014
                         LDR      R3,[R2]
                         ORR      R3,R3,#(0X1<<10)
                         STR      R3,[R2]

                          LDR      R4,=0X50006014
                         LDR      R5,[R4]
                         ORR      R5,R5,#(0X1<<8)
                         STR      R5,[R4]
                          MOV       PC,LR

            LED_OFF:
                        LDR      R0,=0X50006014
                         LDR      R1,[R0]
                         BIC      R1,R1,#(0X1<<10)
                         STR      R1,[R0]
                 

                        LDR      R2,=0X50007014
                         LDR      R3,[R2]
                         BIC     R3,R3,#(0X1<<10)
                         STR      R3,[R2]

                          LDR      R4,=0X50006014
                         LDR      R5,[R4]
                         BIC      R5,R5,#(0X1<<8)
                         STR      R5,[R4]
                            MOV       PC,LR


DELAY:
            LDR   R6,=0X10000000

A:
            cmp   r6,#0
            subne    r6,r6,#1
            bne   A
            mov   pc,lr

     


.end

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值