博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux 汇编
阅读量:6489 次
发布时间:2019-06-24

本文共 874 字,大约阅读时间需要 2 分钟。

nasm的语法和大学教材上8086的汇编伪指令有些差别,指令都是一样的。 编辑器就是普通的编辑器,vim,emacs,gedit,kate 源文件类型为ascii码的plain text 编译用gcc或者nasm,前者编译AT&T汇编,后者编译intel汇编 8086的教材上一般都是用intel,不过区别不大,可以相互转化 链接就是ld,属于gcc工具集 例子:

hello.asm 源代码如下:

*************************************************************

section .text
global main
main:
mov eax,4 ;   4号调用
mov ebx,1 ;   ebx送1表示输出
mov ecx,msge ; 字符串的首地址送入ecx
mov edx,14 ;  字符串的长度送入edx
int 80h ;    输出字串
mov eax,1 ;   1号调用
int 80h ;    结束 
msge:
db "Hello world!",0ah,0dh
*************************************************************

把上面的代码保存为hello.asm,并且把该文件放在解压后的nasm的目录中,并进入目录执行如下命令:

nasm -f elf64(elf32) hello.asm                  (注意这里使用elf64还是elf32要看操作系统的位数来决定)

gcc -o hello hello.o

./hello

如果输出了hello wrod 则说明安装成功了。

 

 

参考:

http://blog.csdn.net/lhf_tiger/article/details/8883240
http://bbs.chinaunix.net/thread-2263561-1-1.html

转载于:https://www.cnblogs.com/little-snake/p/4607145.html

你可能感兴趣的文章
Unity3d 嵌入GoogleMap
查看>>
使用IDEA进行远程调试
查看>>
cocos2d-x3.0 RichText
查看>>
linux获取CPU温度
查看>>
appium简明教程(4)——appium client的安装
查看>>
arcview、arcinfo、arceditor的区别
查看>>
图论题集收藏
查看>>
Ubuntu Server(Ubuntu 14.04 LTS 64位)安装libgdiplus2.10.9出错问题记录
查看>>
C++:cin、cin.getline()、getline()的用法
查看>>
奔五的人,准备学习iOS开发
查看>>
Quartz contention when running in load balanced environment--reference
查看>>
关于Android的一些理解
查看>>
Peer-to-Peer 综述
查看>>
Add-VMNetworkAdapterAcl(添加访问控制列表)
查看>>
[C] 如何使用头文件 .h 编译 C 源码
查看>>
C++时间戳转化(涉及GMT CST时区转化)
查看>>
c++ 发布动态.so
查看>>
npm stripts 使用指南
查看>>
城市之间的最短总距离(最小生成树算法)
查看>>
使用CSS为图片添加边框的几种方法
查看>>