|
|
|
|
 请教:关于汇编器的问题~~~ - kingyoeh [ 2006-02-13 16:40 | 502 byte(s)]
 Re: 请教:关于汇编器的问题~~~ - legendlsf [ 2006-02-25 15:18 | 354 byte(s)]
 Re: 请教:关于汇编器的问题~~~ - EricFisher [ 2006-02-13 17:43 | 413 byte(s)]
 Re: 请教:关于汇编器的问题~~~ - kingyoeh [ 2006-02-16 16:29 | 425 byte(s)]
 Re: 请教:关于汇编器的问题~~~ - grip2 [ 2006-02-17 17:20 | 321 byte(s)]
|
|
|
|
[Original]
[Print]
[Top]
|
偶门的工作主要围绕一个开源的处理器核,此核已经有现成的编译器(一个gcc的移植版本)。
现在需要在此核上添加一些硬件指令,牵涉到编译器的改动。我负责的部分是汇编器的改写工作。
但本人对汇编器了解不多,现在只是对汇编指令和一些二进制文件格式有所了解。
请教大侠:
1. 改写汇编器需要哪些知识?有哪些参考资料呢?
2. gcc的源程序中,哪一部分是关于汇编器的呢?
3. 改写步骤大概有哪几步呢?
4. 工作量有多大呢?
万分感谢~~~
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
>1. 改写汇编器需要哪些知识?有哪些参考资料呢?
gas internals 和 gas(甚至binutils)的源代码
>2. gcc的源程序中,哪一部分是关于汇编器的呢?
.md文件中用来定义汇编指令模板
>3. 改写步骤大概有哪几步呢?
tc-machine.c, machine-opc.c, machine.h等等
>4. 工作量有多大呢?
部分改动,工作量应该不会太大。
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
多谢这位大哥的解答~~
小弟仍有几个疑问:
1. gas internal 和 gas(甚至binutils)的源代码不知道在哪里可以找到呢?偶google 了一下 “gas internal”,似乎没有这方面的文章~~
2. tc-machine.c, machine-opc.c, machine.h是一些什么文件,分别用来做什么的呢?在哪里可以找到这几个文件呢?
3. gcc的源程序中是不是不包含gas的源代码?
谢谢!!~~
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
我的理解:修改汇编器,主要看你的指令集的部分,和目标文件的格式。
对于汇编器不外乎1遍,2遍扫描,后者现在主要使用,因为有list文件生成。
指令级部分,可能在不同的地方有不同的处理,将指令转化为可以汇编器直接调用的文件,可能需要一定的时间。
而后格式处理,不同方式有不同输出,这里也要下点功夫!
有什么不对的地方,大家讨论:)
|
|
|
----
linux学习者
|
|
[Original]
[Print]
[Top]
|
|
|