AC米兰·(中文)官方网站-2026 World Cup

【Green Hills】GHS汇编代码的查看与保留

1、 文档目标

解决Green Hills构建完工程后,对于代码生成后的汇编指令进行查看。


2、 问题场景

用于解决在代码构建完成之后,需要查看对应代码转换之后的汇编指令情况,确认语句或者变量在存储地址上的情况,从而判断对于语句的执行是否达到预期效果。大多数情况为工程的功能实现上存在问题,但是,C语言代码编写逻辑上不存在bug,这个时候就需要通过查看汇编器将对应语句转换为汇编语句的情况。判断语句最终的实现是否达到预期。


3、软硬件环境

1)、软件版本:MULTI 8.1.4,Compiler 2023.1.4 Final Release for Embedded ARM

2)、电脑环境:Windows 11

3)、外设硬件:无


4、解决方法

1)、在Debug模式下,可以通过汇编窗口查看不同源文件的汇编信息。(如图4-1)


图4-1


2)、上面的方法适合在线去查看,但是会比较麻烦,每次都需要进入到Debug模式下,下面的方法可以将汇编代码在本地生成文件保留下来,用于汇编指令的查看。

(1)、在Build Options中,Assembler->Source Listing Generation配置可以生成对应的汇编列表信息。该配置有三个选项:

a、Generate Default Listing:生成默认以源文件的文件名命名的汇编列表文件。

b、Generate User-Specified Listing:用于生成指定文件名的汇编列表文件。仅限于对单独文件进行配置。

c、Suppress Listing:不成列表信息。(默认配置选项)


图4-2-1


生成之后,就可以在工程目录下objdebug文件夹中看到对应的源文件的列表文件了,打开后,可以看到对应源文件的汇编信息。(如图4-2-2)


图4-2-2


(2)、还在Build options中,可以将Advanced->Project Options->Temporary Assembly File配置成Retain选项。开启在构建过程中保留汇编临时文件的设置。(如图4-3-1)


图4-3-1


生成后,就可以在工程目录下,查看到对应的.s文件,里面也包含了汇编信息。


图4-3-2


(3)、两个不同的配置选项生成文件中".s"文件中的内容在“.lst”中都包含,“.lst”文件中包含了更加完整的汇编指令的参数信息和各类环境信息。并且还包含了汇编指令的地址信息等内容。(如图4-4)


图4-4

XML 地图