0
点赞
收藏
分享

微信扫一扫

1534_TriCore编译器Tasking使用_汇编语言语法以及标识符


全部学习汇总: ​​GreyZhang/TriCore_Tasking_Compiler_Skills: Some skills for Tasking compiler on AURIX platform. Happy hacking! (github.com)​​

1534_TriCore编译器Tasking使用_汇编语言语法以及标识符_TriCore

1. 如同C语言,汇编语言也可以续行而且采用了同样的续行符号。不过,我遇到的汇编一直都是很统一的风格,每一行代码都很短,我有点好奇这个功能是否真的会备用上。

2. 汇编的命令是不区分大小写的,但是汇编里面的标识符等信息是区分大小写的。

3. 在label命名上,要求跟C一样。但是,汇编的label也支持纯数字。

4. 汇编指令不能够从第一列开始,但是预处理是可以的。

1534_TriCore编译器Tasking使用_汇编语言语法以及标识符_TriCore_02

1. 宏调用看起来跟指令的要求差不多,都是不能够从第一列开始。

2. 注释符是使用;来实现的。

3. $符号可以用来支持控制行,具体的使用没有很理解,在后面用到的时候可以再综合学习。

1534_TriCore编译器Tasking使用_汇编语言语法以及标识符_嵌入式_03

这里给出来了几种不同的数字的进制的表达形式。

1534_TriCore编译器Tasking使用_汇编语言语法以及标识符_TC275_04

1. 系统名称以及以.开头的标识符全都是系统预留的。

2. 以@开头的是汇编的内置函数。

3. __ASTC__,应该是汇编器TriCore的简称之类的。可以用来处理只有tasking支持的一些指令,作为预处理的条件。

1534_TriCore编译器Tasking使用_汇编语言语法以及标识符_嵌入式_05

预处理的例子,看起来跟C语言的预处理很相似。

1534_TriCore编译器Tasking使用_汇编语言语法以及标识符_TC275_06

1. 这里给了一个常量的使用例子,通过常量的形式定义寄存器以及寄存器的访问。

2. 可重新定位的汇编代码只能够使整型类的函数,浮点类型的不支持。其实,关于这个我是有点疑问的,至少C语言级别上这个是支持的,在编译的时候总归有一个转换为汇编的过程。那么,C如何支持的这个特性呢?还是上面的段落我压根就理解错了?

1534_TriCore编译器Tasking使用_汇编语言语法以及标识符_AURIX_07

字符串的表达用引号来实现,单引号以及双引号都是可以的,但是双引号是可以实现引用的。这个,其实跟Perl中的使用方式很相似了。表达式中,字符串的长度不能够超过4。在表达式中,字符串是转换成一个数字来进行解析的。

1534_TriCore编译器Tasking使用_汇编语言语法以及标识符_AURIX_08

1. 这一页给出来的例子,可以对照理解字符串与数字在表达式中的转换。

2. 汇编之中也有数据类型转换,比如说整型与浮点进行运算的时候自动转浮点。

1534_TriCore编译器Tasking使用_汇编语言语法以及标识符_AURIX_09

跟上一页一起,这里给出了一些运算符号。我又有一点好奇了,我看到的汇编代码中为什么基本没见过这样的符号?这个难道是这个文档中用来做解释说明的一些缩写辅助用法?

举报

相关推荐

0 条评论