和luster一起学习在linux下使用汇编语言(4)

王朝system·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

4. Metaprogramming

汇编代码编写程序是非常枯燥的,但是通常是程序的一些关键的部分. 你应该根据自己的任务选择合适的开发工具, 如果不适合用汇编的场合最好还是别用, C, Ocaml, perl, Scheme, 都是其他可以选择使用的好的开发工具. 但是, 某些场合这些开发工具可能不能提供足够的对机器的控制能力, 此时, 汇编语言就可以发挥作用了.这些场合,你常常学要结合macroprocessing和metaprogramming. 纯粹的汇编代码通常是不够用的, 你要把自己的代码和C 语言代码link起来.

External filters

无论你的汇编器支持怎么样的宏,或者你使用什么样的语言(例如C), 这种语言应该对于你来说是足够清晰的,你可以在Makefile里面使用这样的规则来用一些扩展的filters来过滤你的文件:

%.s: %.S other_dependencies $(FILTER) $(FILTER_OPTIONS) < $< > $@

Metaprogramming

不使用扩展的filter来展开这些宏,也可以写一些程序来产生其他的程序的一部分或者全部.

例如,你可以使用程序来输出一些[url=http://www.pccode.net].net" class="wordstyle"源码:

· 产生标准的数学函数sin/cos等数学函数值查找表.

· 将我们的bitmap图片文件快速显示的函数

· 用自己写的perl/shell/scheme脚本来产生一些我们自己的特定的汇编代码.

· 用程序来生产初始化和结束处理的代码,对数据表的描述代码等.

· 等等

待续。。。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航