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

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

运行结果如下:

相关推荐
二级小助手42 分钟前
计算机二级java选择题真题【内附解析】
java·计算机二级·全国计算机二级·二级java·java二级·java二级选择题·全国计算机java二级
绿箭柠檬茶44 分钟前
Ubuntu 下编译 SQLCipher 4.8.0
linux·运维·ubuntu·sqlite3
鲨鱼辣椒_TUT1 小时前
Obsidian结合CI/CD实现自动发布
java·ci/cd·github
U盘失踪了5 小时前
python JSONPath 表达式生成器
linux·windows·python
海狸老先生5 小时前
Apache Tomcat样例目录session操纵漏洞解读
java·网络安全·tomcat
Jinkxs7 小时前
基础14-Java集合框架:掌握List、Set和Map的使用
java·list
锦鲤飞上天7 小时前
CentOS卸载、安装MySQL8(yum操作)
linux·adb·centos
mortimer7 小时前
一次搞懂 rsync:从入门到解决真实世界中的权限难题
linux·运维·centos
遗憾皆是温柔8 小时前
3.JVM,JRE和JDK的关系是什么
java·开发语言·jvm·面试
wb1899 小时前
服务器的Mysql 集群技术
linux·运维·服务器·数据库·笔记·mysql·云计算