【ARM Trace32(劳特巴赫) 使用介绍 2.3 -- TRACE32 进阶命令之 参数传递介绍】

请阅读【ARM Coresight SoC-400/SoC-600 专栏导读】

文章目录

    • [参数传递命令 ENTRY](#参数传递命令 ENTRY)

参数传递命令 ENTRY

cpp 复制代码
ENTRY <parlist>

The ENTRY command can be used to

  • Pass parameters to a PRACTICE script or to a subroutine
  • To return a value from a subroutine

使用示例

c 复制代码
AREA.view
AREA.CLEAR
LOCAL &x
&x=0x25

PRINT "Value of &"+"x before subroutine level 1 = " &x

GOSUB level1 0x55

PRINT "Value of &"+"x after subroutine level 1 = " &x

ENDDO

level1:
(
	ENTRY &x
	IF &x==0x55
	(
		PRINT "par is:" &x
	)
	RETURN
)

运行结果如下:

从上面输出 log 可以看到,变量 x 作为形参传给子函数 level1 的时候,它的值被修改了,那么如如何才能保证它的值不被修改呢?

可以使用 命令 PARMETERS, 如下:

c 复制代码
AREA.view
AREA.CLEAR
LOCAL &x
&x=0x25

PRINT "Value of &"+"x before subroutine level 1 = " &x

GOSUB level1 "0x55"

PRINT "Value of &"+"x after subroutine level 1 = " &x

ENDDO

level1:
(
	ENTRY &x
	IF &x==0x55
	(
		PRINT "par is:" &x
	)
	RETURN
)

注意:传入的参数需要时字符串格式

运行结果如下:

相关推荐
Bat U2 分钟前
JavaEE|多线程初阶(七)
java·开发语言
丑八怪大丑16 分钟前
Java网络编程
linux·服务器·网络
橙子也要努力变强1 小时前
信号捕捉底层机制-机理篇2
linux·服务器·c++
秋91 小时前
MySQL 8.0.46 全平台安装与配置详解(Windows/Linux/macOS)
linux·windows·mysql
小康小小涵2 小时前
基于ESP32S3实现无人机RID模块底层源码编译
linux·开发语言·python
CQU_JIAKE2 小时前
4.28~4.30【Q】
linux·运维·服务器
左手厨刀右手茼蒿2 小时前
Linux 内核中的设备驱动开发:从字符设备到网络设备
linux·嵌入式·系统内核
先知后行。2 小时前
Linux 设备模型和platform平台
linux·运维·服务器
lzh200409192 小时前
深入理解进程:从PCB内核结构到写时拷贝的底层实战
linux·c++
Data_Journal2 小时前
如何使用cURL更改User Agent
大数据·服务器·前端·javascript·数据库