南方Linux论坛   首页 | 行业 | 下载 | Blog | 桌面应用 | 数据库 | 电子商务 | 文摘 | 网络服务 | 开源 | 系统管理 | 内核代码 | 教程

返回   南方Linux论坛 > 社区开源项目专栏 > 应用编程技术
注册账号 Blog 论坛帮助 会员列表 日历事件 搜索 今日新帖 标记讨论区已读

应用编程技术 C/C++/Gtk/Gnome/Qt/Kylix/Java等应用软件开发技术

发表新主题 回复
 
主题工具 显示模式
旧 2006-11-16, 10:17 PM   #1
sulilo
级别:1 | 在线时长:5小时 | 升级还需:7小时
普通会员
 
注册日期: 2006-07-21
帖子: 41
精华: 0
现金: 139 金币
资产: 139 金币
声望: 10 sulilo 正向着好的方向发展
默认 as86,ld86简介

as86,ld86简介

as86 和 ld86 是由 Bruce Evans 编写的 Intel 8086 汇编编译程序和连接程序。它完全是一个 8086 的汇编编译器,但却可以为 386 处理器编制 32 位的代码。Linux 使用它仅仅是为了创建 16 位的启动扇区(bootsector)代码和 setup 二进制执行代码。该编译器的语法与 GNU 的汇编编译器的语法是不兼容的,但近似 Intel 的汇编语言语法(如操作数的次序相反等)。

Bruce Evans 是 minix 操作系统 32 位版本的主要编制者,他与 LInux 的创始人 Linus Torvalds 是很好的朋友。Linus 本人也从 Bruce Evans 那里尝到了不少有关 UNIX 类操作系统的知识,minix 操作系统的不足之处也是两个好朋友互相探讨得出的结果,这激发了 LInus 在 Intel 386 体系结构上开发一个全新概念的操作系统,因此 Linux 操作系统的诞生与 Bruce Evans 也有密切的关系。

有关这个编译器和连接器的源代码可以从 FTP 服务器 ftp.funet.fi 上或从我的网站 (www.oldlinux.org)上下载。

这两个程序的使用方法和选项如下:

as 的使用方法和选项:
as [-03agjuw] [-b [bin]] [-lm[list]] [-n name] [-o obj] [-s sym] src

默认设置(除了以下默认值以外,其它选项默认为关闭或无;若没有明确说明 a 标志,则不会有输出):

-03 32位输出;
list 在标准输出上显示;
name 源文件的基本名称(也即不包括"."后的扩展名);

选项含义:
-0 从16位比特代码段开始;
-3 从32位比特代码段开始;
-a 开启与as、ld的部分兼容性选项;
-b 产生二进制文件,后面可以跟文件名;
-g 在目标文件中仅存入全局符号;
-j 使所有跳转语句均为长跳转;
-l 产生列表文件,后面可以跟随列表文件名;
-m 在列表中扩展宏定义;
-n 后面跟随模块名称(取代源文件名称放入目标文件中);
-o 产生目标文件,后跟目标文件名;
-s 产生符号文件,后跟符号文件名;
-u 将未定义符号做为输入的未指定段的符号;
-w 不显示警告信息;

ld 连接器的使用语法和选项:
--------------------------
对于生成 Minix a.out 格式的版本:
ld [-03Mins[-]] [-T textaddr] [-l lib_extension] [-o outfile] infile...
对于生成生成 GNU-Minix 的 a.out 格式的版本:
ld [-03Mimrs[-]] [-T textaddr] [-l lib_extension] [-o outfile] infile...

默认设置(除了以下默认值以个,其它选项默认为关闭或无);
-03 32位输出;
outfile a.out格式输出;

-0 产生具有 16 比特魔数的头结构,并且对 -lx 选项使用 i86 子目录;
-3 产生具有 32 比特魔数的头结构,并且对 -lx 选项使用 i386 子目录;
-M 在标准输出设备上显示忆链接的符号;
-T 后面跟随文本基地址(使用适合于 strtoul 的格式);
-i 分离的指令与数据段 (I&D) 输出;
-lx 将库 /local/lib/subdir/libx.a 加入链接的文件列表中;
-m 在标准输出设备上显示已链接的模块;
-o 指定输出文件名,后跟输出文件名;
-r 产生适合于进一步重定位的输出;
-s 在目标文件中删除所有的符号。
sulilo 当前离线  
+10 金币
回复时引用此帖
发表新主题 回复


当前查看此主题的会员: 1 (0 位会员和 1 位游客)
 
主题工具
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

论坛启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


所有时间均为北京时间。现在的时间是 03:40 AM


vBulletin 3.6.8 Powered by 南方Linux联盟
版权所有 ©2004 - 2009, bbs.linuxunion.net