linux下编写汇编的Helloworld
2012-09-06 20:09
162 查看
在windows下写汇编程序不用多说,学汇编就是以这个平台来学的。
对于经典的hellowworld,在linux下如何汇编实现呢?因为平时的学习都是用的MASM,所以在linux下也用MASM
首先需要一些软件,来模拟DOS,推荐用Dosbox。如果用的ubuntu,在软件中心就可以找到。直接安装后就可以在启动栏看到图标。
或是通过命令
如果是Deb系,那么输入:
安装之后进入dosbox界面如下:
然后需要模拟指定C盘的位置。比如,需要使用的debug.exe和masm.exe程序在/home/sincerefly/study/asm/tools目录下
那么输入:
现在环境已经搭建完成。来编写我们的第一个helloworld。
汇编的源程序文件是以.asm为后缀的文件。编写程序使用任意编辑器即可。
推荐使用vim和Emacs(PS:vim被称作编辑器之神,Emacs被称作神用的编辑器,功能强大就不多说了,不过需要一定的基础才能使用)
如果还不会用的话,那么推荐使用gedit,使用起来简单,功能也很强大。
把如下汇编代码编辑保存:(代码摘自百度百科)
之后我们来编译它。
在DOSBOX界面下输入
这是怎么回事儿?好像找不到文件,可是文件明明存在啊!
貌似DOSBOX的不是时时更新列表的,也许通过命令可以,不过我也不知道怎么弄,索性重新打开即可。
再次执行编译,会出现下图:
接下来,该链接了,在dosbox下执行(注意没有后缀了)
出现警告LINK:warning L4021: no stack segment
无视即可,因为你没用到堆栈段,他只是警告你没有用到堆栈,但是程序是对的。
接下来执行hw即可,如下图:
看到了helloworld,那么汇编的大门就已经打开。吼吼,希望以后的汇编之路一路顺风~~~
对于经典的hellowworld,在linux下如何汇编实现呢?因为平时的学习都是用的MASM,所以在linux下也用MASM
首先需要一些软件,来模拟DOS,推荐用Dosbox。如果用的ubuntu,在软件中心就可以找到。直接安装后就可以在启动栏看到图标。
或是通过命令
sudo apt-get install dosbox
如果是Deb系,那么输入:
yum -y install dosbox
安装之后进入dosbox界面如下:
然后需要模拟指定C盘的位置。比如,需要使用的debug.exe和masm.exe程序在/home/sincerefly/study/asm/tools目录下
那么输入:
mount c /home/sincerefly/study/asm/tools之后输入C:就进入你指定的目录了。
现在环境已经搭建完成。来编写我们的第一个helloworld。
汇编的源程序文件是以.asm为后缀的文件。编写程序使用任意编辑器即可。
推荐使用vim和Emacs(PS:vim被称作编辑器之神,Emacs被称作神用的编辑器,功能强大就不多说了,不过需要一定的基础才能使用)
如果还不会用的话,那么推荐使用gedit,使用起来简单,功能也很强大。
把如下汇编代码编辑保存:(代码摘自百度百科)
data SEGMENT msg DB 'Hello, world.$' data ENDS code SEGMENT ASSUME CS:code,DS:data start:MOV AX,data MOV DS,AX lea dx,msg mov ah,9h int 21h MOV AX,4C00h INT 21h code ENDS END start好了,保存为hw.asm(保存在刚才的指定路径下)(文件名字不能太长,否则会出错)
之后我们来编译它。
在DOSBOX界面下输入
masm hw.asm之后按几次回车就会出现下图:
这是怎么回事儿?好像找不到文件,可是文件明明存在啊!
貌似DOSBOX的不是时时更新列表的,也许通过命令可以,不过我也不知道怎么弄,索性重新打开即可。
再次执行编译,会出现下图:
接下来,该链接了,在dosbox下执行(注意没有后缀了)
link hw成功后如下图:
出现警告LINK:warning L4021: no stack segment
无视即可,因为你没用到堆栈段,他只是警告你没有用到堆栈,但是程序是对的。
接下来执行hw即可,如下图:
看到了helloworld,那么汇编的大门就已经打开。吼吼,希望以后的汇编之路一路顺风~~~
相关文章推荐
- linux下编写汇编的Helloworld
- linux下编写汇编的Helloworld
- 1.2.在linux环境实践,使用vim编写一个程序,然后使用gcc查看【预处理】、【编译】、【汇编】、【链接】各阶段文件的内容。并熟悉相关指令。
- 在linux环境下编写汇编
- Linux操作系统的简单指令及如何使用vim编写一个程序,然后使用gcc查看【预处理】、【编译】、【汇编】、【链接】各阶段文件的内容。
- linux下使用汇编语言编写hello world!程序
- linux下使用汇编语言编写hello world!程序
- (一)为Android系统编写Linux内核驱动程序HelloWorld
- linux之helloworld编写
- linux中C语言编写的第一个程序HelloWorld
- Linux汇编教程02:编写第一个汇编程序
- Linux汇编教程02:编写第一个汇编程序
- (原创)一步一步学ZedBoard & Zynq(六):在ZedBoard上运行linux并编写linux下的应用程序HelloWorld
- 在Linux环境下(Ubuntu)编写MASM汇编程序
- 在ZedBoard上运行linux并编写linux下的应用程序HelloWorld
- 【Linux】使用vim编写一个程序,gcc查看预处理、编译、汇编、链接过程
- Linux 脚本编写基础
- Linux汇编语言开发指南(转贴)
- linux:C编写基础
- OpenRTMFP/Cumulus Primer(2)用Lua编写HelloWorld应用扩展CumulusServer