首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>系统管理>桌面应用>正文

Linux应用经验技巧:Linux用Nasm巧汇编

http://www.oklinux.cn  2005-01-01  赛迪技术天地-开放系统世界  高伟   会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

随着Linux的普及,如何在Linux平台下进行编程,尤其是汇编成为大家关注的一个问题,但是这方面资料却很少。在遍访网站和论坛后,我把收集到的资料结合本人总结的一些经验跟大家分享一下。

Nasm介绍

Linux下的汇编编译器有多种,语法也不尽相同,其中GAS是比较基本的汇编工具。但是GAS采用的不是我们通常在DOS体系下使用的汇编语法,它采用的是AT&T的语法格式,这是继承Unix的特点,与Intel语法格式有很大的不同。

作为一个从DOS转型到Linux的汇编爱好者,AT&T的格式不太容易接受,学习起来也非常困难。我要介绍的是另一种汇编工具Nasm,这跟DOS下用的Intel x86汇编风格的Masm类似,是Linux中语法与DOS最为相像的一种汇编工具。

下面就以hello.asm这个小程序为例,介绍如何用Nasm在Linux下进行汇编。

hello.asm 
hello world for Linux 
section .text                                 
extern puts                                   
global main                                   
                                              
main:                                         
   push dword msge ;                         
   call puts ;                                
   add  esp, byte 4 ;                         
   ret ;                                      
                                               
msge:                                         
   db “Hello World!”,0

Nasm编译命令如下:

Nasm -f elf hello.asm
gcc -o hello hello.o

“Nasm -f elf hello.asm”是将把hello.asm汇编成elf object文件。“gcc -o hello hello.o”会把hello.asm汇编成二进制可执行文件hello.com 。

Nasm -f命令的参数主要有aout和elf两种,如果不能确定Linux系统应该用aout还是elf,可以在Nasm目录中输入命令file Nasm,如果输出“Nasm: ELF 32-bit LSB executable i386(386 and up) Version 1”应该使用elf;如果输出“Nasm: Linux/i386 demand-paged executable(QMAGIC) ”应该使用aout。用命令Nasm -h可以取得Nasm命令行的完整说明。

共2页: 上一页 1 [2] 下一页

上一篇:桌面应用:Linux下特效照片也精彩   下一篇:Linux经验技巧:Kill多个进程的妙招

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Linux经验技巧:Kill多个进程的妙招
·桌面应用:Linux下特效照片也精彩
·Linux应用问答系列之桌面FAQ
·桌面应用技巧:Linux控制台下轻松工作
·Linux高手过招:量身定制Linux桌面
·Linux应用问答系列之硬件FAQ
·Linux菜园培训:走进“Linux新办公室”
·教您如何将Linux配置为代理防火墙
·Linux应用问答系列之网络FAQ
·Linux在构建绿色校园网中的低成本
·回眸经典:DOS命令简化八大案例
·小议在Linux环境下基于策略的路由
·突破传统:Linux下如何架设BT服务器
·怎样在Redhat 9.0下让PHP支持Java类
·解读Linux文件权限的设置方法
·体验SuSE Linux 9. 靓装Linux 2.6桌面
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Aurorae: KDE 4 新的窗口边框主题引擎
·Google Chrome 主题库
·Bespin-被KDE4遗忘的主题
·10 套不错的 GNOME 主题
·无人值守安装Linux系统
·巧妙管理Linux服务器存储空间
·值得期待的Fedora 11操作系统新特性简
·面对CSS跨站攻击 IE与FireFox态度不一
·网友分享:在Linux系统上玩转磁盘阵列
·Ubuntu系统技巧之登录时查看“每日一句
·专家观点:Linux系统管理学习路线图
·开源办公软件 KOffice 2.0 Beta 7 发布
  阅读排行
·linux无线网卡设置与安装
·Ubuntu多媒体播放器的安装与配置
·VNCServer 配置 及Vncview的使用
·用新型D-BUS与Linux桌面应用程序通讯
·与微软相媲美! Ubuntu v8.04组图欣赏
·10 套不错的 GNOME 主题
·如何安装和使用wine
·菜鸟也疯狂:Linux桌面应用全攻略
·2008年Linux的25个顶级游戏
·安装Sony VAIO和HP Pavilion本本内置摄
·Linux高手过招:量身定制Linux桌面
·10套优秀的 Linux 图标 美化你的 Linux
·linux虚拟光驱介绍
·U盘Linux的制作
·引导装入工具Grub入门到精通
网摘收藏: