[菜鸟]高级语言能内嵌汇编代码这个设计是怎么来的?

abcbuzhiming
[菜鸟]高级语言能内嵌汇编代码这个设计是怎么来的?

我知道C,C++,还有delphi下的pascal,都支持内联汇编,我自己学过一些汇编,知道汇编是怎么回事,但是我又一点没想明白,为什么,高级语言允许内嵌汇编代码(好像并不是所有的高级语言都支持内嵌汇编),而且所有的讲语言方面的书,从来不曾提起在这些语言中内嵌汇编代码的事情,仿佛这并不是这些语言天生就支持汇编一样,那么,到底为什么这些语言能支持内嵌汇编,他们支持的那些汇编代码和我们传统上看到的那些汇编语言有什么不同吗?

SuperZ
能编译成本地二进制代码的语言应该都能内嵌汇编语言。但是解释型语言不行。
所以c,pascal都能,而perl,python都不能。
至于为什么书中不讲,那是因为内嵌的汇编不属于语言的一部分,而是属于cpu体系结构的一部分。

abcbuzhiming
[quote]原帖由 [i]SuperZ[/i] 于 2008-2-18 23:22 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=7975610&ptid=1054103][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]
能编译成本地二进制代码的语言应该都能内嵌汇编语言。但是解释型语言不行。
所以c,pascal都能,而perl,python都不能。
至于为什么书中不讲,那是因为内嵌的汇编不属于语言的一部分,而是属于cpu体系结构的一 ... [/quote]

如果书中都不讲,最开始这些编译语言能内嵌汇编,以及内嵌汇编具体用法是从哪里流出来的?

cugb_cat
[quote]原帖由 [i]abcbuzhiming[/i] 于 2008-2-18 23:41 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=7976542&ptid=1054103][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]


如果书中都不讲,最开始这些编译语言能内嵌汇编,以及内嵌汇编具体用法是从哪里流出来的? [/quote]
有些讲汇编语言的书中会讲嵌入式汇编。
还有,知识向来都不是从书本开始的。

flw
[quote]原帖由 [i]SuperZ[/i] 于 2008-2-18 23:22 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=7975610&ptid=1054103][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]
而perl,python都不能。[/quote]
Perl 可以的。
[url]http://search.cpan.org/~neilw/Inline-ASM-0.03/ASM.pod[/url]

MMMIX
[quote]原帖由 [i]abcbuzhiming[/i] 于 2008-2-18 23:41 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=7976542&ptid=1054103][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]


如果书中都不讲,最开始这些编译语言能内嵌汇编,以及内嵌汇编具体用法是从哪里流出来的? [/quote]
具体编译器的文档。

chenzengjie
感觉内联汇编应该是编译器特性。
你看的书都是讲语言的, 又不是讲编译器。

jamesr
[quote]原帖由 [i]chenzengjie[/i] 于 2008-2-19 09:57 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=7976933&ptid=1054103][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]
感觉内联汇编应该是编译器特性。
你看的书都是讲语言的, 又不是讲编译器。 [/quote]
正确!
gcc的内联汇编的语法也gcc内部RTL的语法相同。

cgibin
从汇编风格来说 我们一般在学校里学习的是IBM风格汇编,gcc的是AT&T风格汇编,因此具体语法略有出入。高级语言内嵌汇编码确是和具体编译器相关的,非语言特性。