全部学习汇总: GreyZhang/TriCore_Tasking_Compiler_Skills: Some skills for Tasking compiler on AURIX platform. Happy hacking! (github.com)
1. 如同C语言,汇编语言也可以续行而且采用了同样的续行符号。不过,我遇到的汇编一直都是很统一的风格,每一行代码都很短,我有点好奇这个功能是否真的会备用上。
2. 汇编的命令是不区分大小写的,但是汇编里面的标识符等信息是区分大小写的。
3. 在label命名上,要求跟C一样。但是,汇编的label也支持纯数字。
4. 汇编指令不能够从第一列开始,但是预处理是可以的。
1. 宏调用看起来跟指令的要求差不多,都是不能够从第一列开始。
2. 注释符是使用;来实现的。
3. $符号可以用来支持控制行,具体的使用没有很理解,在后面用到的时候可以再综合学习。
这里给出来了几种不同的数字的进制的表达形式。
1. 系统名称以及以.开头的标识符全都是系统预留的。
2. 以@开头的是汇编的内置函数。
3. __ASTC__,应该是汇编器TriCore的简称之类的。可以用来处理只有tasking支持的一些指令,作为预处理的条件。
预处理的例子,看起来跟C语言的预处理很相似。
1. 这里给了一个常量的使用例子,通过常量的形式定义寄存器以及寄存器的访问。
2. 可重新定位的汇编代码只能够使整型类的函数,浮点类型的不支持。其实,关于这个我是有点疑问的,至少C语言级别上这个是支持的,在编译的时候总归有一个转换为汇编的过程。那么,C如何支持的这个特性呢?还是上面的段落我压根就理解错了?
字符串的表达用引号来实现,单引号以及双引号都是可以的,但是双引号是可以实现引用的。这个,其实跟Perl中的使用方式很相似了。表达式中,字符串的长度不能够超过4。在表达式中,字符串是转换成一个数字来进行解析的。
1. 这一页给出来的例子,可以对照理解字符串与数字在表达式中的转换。
2. 汇编之中也有数据类型转换,比如说整型与浮点进行运算的时候自动转浮点。
跟上一页一起,这里给出了一些运算符号。我又有一点好奇了,我看到的汇编代码中为什么基本没见过这样的符号?这个难道是这个文档中用来做解释说明的一些缩写辅助用法?