Chinaunix首页 | 论坛 | 博客
  • 博客访问: 787240
  • 博文数量: 104
  • 博客积分: 915
  • 博客等级: 下士
  • 技术积分: 2171
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-24 21:34
文章分类

全部博文(104)

文章存档

2018年(4)

2015年(14)

2014年(9)

2013年(56)

2012年(21)

分类: LINUX

2012-09-14 20:13:22

对于经典的hellowworld,在linux下如何汇编实现呢?
因为平时的学习都是用的MASM,所以在linux下也用MASM

一、我们可以通过一些软件,来模拟DOS,可以用Dosbox。如果用的ubuntu,在软件中心就可以找到。直接安装后就可以在启动栏看到图标
或是通过命令:sudo apt-get install dosbox  
如果是Rpm系,那么输入: yum -y install dosbox

二、安装之后可以通过两种方式进入dosbox界面
1、直接在启动栏打开
2、在终端直接输入dosbox
如下:

三、需要模拟指定C盘的位置。
  在dosbox中输入: mount c /home/sincerefly/study/asm/tools 
   之后输入:  c:
这样就进入你指定的目录了。
现在环境已经搭建完成。

四、现在来编写我们的第一个helloworld
     汇编的源程序文件是以.asm为后缀的文件。编写程序使用任意编辑器即可。
     可以使用vim和Emacs。
     如果还不会用的话,那么推荐使用gedit。
     把如下汇编代码编辑保存:

点击(此处)折叠或打开

  1. data SEGMENT
  2.      msg DB 'Hello, world.$'
  3. data ENDS
  4. code SEGMENT
  5.     ASSUME CS:code,DS:data
  6. start:
  7.     MOV AX,data
  8.     MOV DS,AX
  9.     lea dx,msg
  10.     mov ah,9h
  11.     int 21h
  12.     MOV AX,4C00h
  13.     INT 21h
  14. code ENDS
  15. END start
在刚才的指定路径下保存为hw.asm(文件名字不能太长,否则会出错)
之后我们来编译它。
在DOSBOX界面下输入:masm hw.asm
这时可能会出现:illegal command masm.
(这是因为还没有配置好masm命令,我们要将masm.exe文件放到汇编文件所在目录,链接的时候需要用到link.exe文件,所以我们也把该文件放到汇编文件所在目录)。。。
现在我们在DOSBOX界面下再次输入:masm hw.asm   按几次回车
接下来,该链接了,在dosbox下执行(注意没有后缀了):link hw
现在就可以运行了
在dosbox中输入:hw

阅读(13120) | 评论(3) | 转发(0) |
给主人留下些什么吧!~~

xu_liuzhen2012-09-19 12:08:17

H_A_N: 好像是哦。。。.....
那还不改回来

H_A_N2012-09-19 11:46:17

xu_liuzhen: 好像有点问题,deb的一般用的是apt-get管理工具
rpm的用的是yum管理工具.....
好像是哦。。。

xu_liuzhen2012-09-16 14:44:55

好像有点问题,deb的一般用的是apt-get管理工具
rpm的用的是yum管理工具