【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
)

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

运行结果如下:

相关推荐
key_Go11 分钟前
02.<<设备登录管理:掌握华为网络设备的本地与远程登录技巧>>
运维·服务器·网络·华为
浮游本尊12 分钟前
Java学习第15天 - 服务网关与API管理
java
熙客39 分钟前
Java:LinkedList的使用
java·开发语言
CYRUS_STUDIO1 小时前
使用 readelf 分析 so 文件:ELF 结构解析全攻略
android·linux·逆向
博语小屋1 小时前
回车换行、缓冲区刷新、倒计时小程序
linux
幸运狗头1 小时前
Linux学习-TCP并发服务器构建
linux·服务器·学习
blueblood1 小时前
🗄️ JFinal 项目在 IntelliJ IDEA 中的 Modules 配置指南
java·后端
●VON1 小时前
如何通过docker进行本地部署?
java·docker·容器
轻松Ai享生活1 小时前
udev 从入门到精通,3天学习计划
linux
杨杨杨大侠1 小时前
第8篇:Spring Boot集成 - 开发自己的Starter
java·spring·开源