当前位置:Linux教程 - Linux - 和luster一起学习在linux下使用汇编语言(4)

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

4. Metaprogramming

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

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

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

Metaprogramming

不使用扩展的filter来展开这些宏,也可以写一些程序来产生其他的程序的一部分或者全部.
例如,你可以使用程序来输出一些源码:
· 产生标准的数学函数sin/cos等数学函数值查找表.
· 将我们的bitmap图片文件快速显示的函数
· 用自己写的perl/shell/scheme脚本来产生一些我们自己的特定的汇编代码.
· 用程序来生产初始化和结束处理的代码,对数据表的描述代码等.
· 等等

待续。。。