STM32
直播中

剪刀脚

8年用户 862经验值
私信 关注
[问答]

请问怎样在Keil下去完成一个汇编程序的编写呢

请问怎样在Keil下去完成一个汇编程序的编写呢?

回帖(1)

王若峰

2021-11-26 09:57:29
在Keil下完成一个汇编程序的编写,学习动态调试变量;并注意观察最终生成 hex文件的各段的大小,以及Hex文件前8个字节内容,解释其含义。

  因为完成一个汇编程序的编写,所以写代码的时候创建一个新的.s文件
  
  

  

创建好文件后写入代码
   AREA MYDATA, DATA           AREA MYCODE, CODE         ENTRY         EXPORT __main  __main         MOV R0, #10         MOV R1, #11         MOV R2, #12         MOV R3, #13         ;LDR R0, =func01          BL        func01         ;LDR R1, =func02         BL        func02                  BL         func03         LDR LR, =func01         LDR PC, =func03         B .                  func01         MOV R5, #05         BX LR          func02         MOV R6, #06         BX LR          func03         MOV R7, #07         MOV R8, #08                 BX LR   
  

  


  

  

可以打开.hex文件查看内容

  

  

我们把每一行分为五个部分
  第一个Byte为数据长度
第二第三两个Byte代表地址偏移量
第四个Byte代表数据类型,
接下来是数据区,
最后一个Byte是校验码。
  用汇编程序完成一个输出“Hello world”到串口的程序;
  
通过用零或空指令NOP填充,来使当前位置与一个指定的边界对齐      END    编译后烧录至开发板

  

  

用的之前的LED显示的工程
  烧录成功后用调试助手查看
  
  
举报

更多回帖

发帖
×
20
完善资料,
赚取积分