Embedded 版 (精华区)
发信人: Zinux (Linux技工), 信区: Embedded_system
标 题: 和luster一起学习在linux下使用汇编语言(4)
发信站: 哈工大紫丁香 (Sun Sep 23 12:48:50 2001) , 转信
4. Metaprogramming
汇编代码编写程序是非常枯燥的,但是通常是程序的一些关键的部分. 你应该根据自己的任
务选择合适的开发工具, 如果不适合用汇编的场合最好还是别用, C, Ocaml, perl, Sche
me, 都是其他可以选择使用的好的开发工具. 但是, 某些场合这些开发工具可能不能提供
足够的对机器的控制能力, 此时, 汇编语言就可以发挥作用了.这些场合,你常常学要结合
macroprocessing和metaprogramming. 纯粹的汇编代码通常是不够用的, 你要把自己的代
码和C 语言代码link起来.
External filters
无论你的汇编器支持怎么样的宏,或者你使用什么样的语言(例如C), 这种语言应该对于你
来说是足够清晰的,你可以在Makefile里面使用这样的规则来用一些扩展的filters来过滤
你的文件:
%.s: %.S other_dependencies $(FILTER) $(FILTER_OPTIONS) < $< > $@
Metaprogramming
不使用扩展的filter来展开这些宏,也可以写一些程序来产生其他的程序的一部分或者全部
.
例如,你可以使用程序来输出一些源码:
· 产生标准的数学函数sin/cos等数学函数值查找表.
· 将我们的bitmap图片文件快速显示的函数
· 用自己写的perl/shell/scheme脚本来产生一些我们自己的特定的汇编代码.
· 用程序来生产初始化和结束处理的代码,对数据表的描述代码等.
· 等等
--
※ 来源:.哈工大紫丁香 http://bbs.hit.edu.cn [FROM: 202.118.239.146]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.075毫秒