- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 NASM源代码分析之NASM中的指令表示(1)
NASM源代码分析之NASM中的指令表示(1) 在汇编语言中,一般将一条指令写成一行。一条指令有不同的组成部分,分别是:1) 地址/变量标识(label),例如:start:mov al,1中,start即为地址label。2) 指令前缀,包括 times,rep,a32,lock等3) 指令,如 mov,inc,4) 操作数,例如: mov ax,12 ,
2008-07-17 15:52:00 1865 1
原创 NASM源代码分析--预处理过程
预处理过程 switch ( operating_mode ) { case op_depend: ... break; case op_preprocess: { char *line; // getline()返回值 char *file_na
2008-06-04 14:31:00 2567 2
原创 NASM源代码分析—入口函数main()(1)
NASM源代码分析—入口函数main()(1) 之前我们简单讨论了与预处理有关的几个数据结构,下面我们根据NASM的入口开始讲解NASM的预处理机制。 入口函数nasm.c/main():int main(int argc, char **argv) { want_usage = terminate_after_phase = FALSE;
2008-05-09 16:46:00 3428 2
原创 NASM源代码分析--预处理数据结构
NASM源代码分析--预处理数据结构 我是在读研究生,09年毕业,以前看过部分Linux源代码和BSD的TCP/IP协议,因为没有太全的资料,所以只看了比较重要的部分,没有看全。虽然看源代码是学编程最快捷的方法,但不得不承认看别人的代码有时候是一种煎药,特别是在没有详细的说明和注释的情况下。由于之前用过一段时间的NASM用来编写一个小病毒,所以才有了看NASM源代码的想法。不过
2008-05-09 16:45:00 3430 1
原创 NASM源代码分析之预处理(3)
NASM源代码分析之预处理(3) struct Include { Include *next; FILE *fp; Cond *conds; Line *expansion; char *fname;
2008-05-04 20:19:00 1032
原创 NASM源代码分析之预处理(2)
NASM源代码分析之预处理(2) 在NASM预处理中,每次从源代码中读取一行,并保存于数据结构Line中。Line指代已经被Token化后的一行源代码。struct Line // 指代一行代码(经过函数tokenise(char *line)处理后的,其中参数插入char *line为源程序中代码)。{
2008-04-15 18:28:00 963
原创 NASM源代码分析之预处理(1)
NASM源代码分析之预处理(1) NASM源代码的整体框架,互联网上已经有资料介绍了,具体的大家可以参见《NASM源码阅读笔记》一文。 NASM编译源代码的时候,分为三种情况,分别是: (1):只产生文件依赖关系(operating_mode = op_depend); (2):只进行预处理(operating_mode = op_p
2008-04-10 08:40:00 1242
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人