打印

C55x C语言基本特性之asm指令

[复制链接]
1880|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
feel123|  楼主 | 2012-6-10 20:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
55x C编译器可以直接将C55x汇编语言指令嵌入到编译器的汇编语言输出中,这就是C语言的扩展功能—asm指令。这个语句提供了C不能提供的对硬件的访问功能。这个语句就好像是对叫做asm的函数的调用。asm指令格式如下:
asm (“assembler text”);
编译器直接把命令中的字符串复制到输出文件中。汇编器文档必须包括到两个引用中。所有常用字符串转义符保留原来的定义。例如,可以插入包含引用的string指令:
asm(“STR: .string\“abc\” ”);
插入的代码必须是合法的汇编语言指令。像其它汇编语言指令一样,包含引用的代码行必须用标号、空格、星号、分号开头。编译器不检查字符串。如果有错,汇编器会将其检测出来。
使用asm指令有个问题:它容易破坏C环境,因为C编译器在编译嵌入了汇编语言的C程序时并不检查或分析嵌入的汇编语句。当使用带asm指令的优化器时必须小心。虽然优化器不会移除asm指令,但它可以重新改变周围代码顺序并可能引起不可预知的结果。

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

94

帖子

0

粉丝