写第一个led程序

第一个led程序

汇编指令

  • ldr: 读内存 ldr r0,[r1] 将r1所指向的地址包含的内容写入r0寄存器中
  • str: 写内存 str r0,[r1] 将r0中的值存放到r1所指向的地址中
  • b : 跳转
  • mov:赋值
  • ldr r0,=0x12345678 伪汇编代码(效果是一样的)
  • add r0,r1,#4 >> r0=r1+4
  • sub r0,r1,#4 >> r0=r1-4
  • bl xxx: branch and link :跳转到xxx,并将返回地址保存在lr寄存器中
  • ldm:读内存,存入多个寄存器(many)
  • stm:把多个寄存器中的值写入内存
  • stmdb sp!,{fp,ip,lr,pc} :高编号的寄存器存在高地址,先减后存

汇编代码

  • 创建一个.S文件

    .text

    .global _start
    _start:
    /* 配置寄存器为输出*/
    ldr r1,=0x56000050
    ldr r0,=0x100
    str r0,[r1]
    /* 配置寄存器输出低电平*/
    ldr r1,=0x56000054
    ldr r0,=0
    str r0,[r1]
    /设置为死循环/
    halt:
    b halt

c语言代码

  • 创建.S .c文件
    .text
    .global _start
    _start:
    /* 设置栈 sp*/
    ldr sp,4096
    /* 跳转到main函数*/
    bl main
    /* 死循环 * /
    halt:
    b halt
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值