您的位置:首页 > 其它

汇编语言 写 Hello World

2016-12-28 18:41 309 查看

汇编语言 写 Hello World

博主菜鸟一枚,纯属个人摸索,不喜勿喷。t_t

1.DOS,是 磁盘操作系统 的缩写,是个人计算机上的一类操作系统。

2.汇编语言运行在基于DOS操作系统的环境下

3.masm是针对汇编的工具组。(博主将以下4个文件放入本地的e:\compile\home)

masm.exe是编译程序,可以将汇编代码.asm编译成.obj文件

link.exe是链接程序,用于将.obj文件生成.exe可执行文件

debug.exe是调试工具,可用于打断点

edit.com是编辑程序,提供对汇编代码的编译

4.因为我的电脑是WIN10,下载了一个dos模拟环境工具:dosbox,但是这个软件是16位的

5.操作步骤:

5.1 打开dosbox



5.2 输入mount c e:\compile\home (意思是将e:\compile\home设置为dos系统(c)盘)

因为这样的话可以不用配环境变量,用于识别masm,link,debug,edit指令 但是仅当次有效



5.3最好提前准备好编辑好的.asm文件(可用任何编辑器编辑,事先准备是因为edit.com相对 于别的编辑器不易操作) 放在3.2中指定的文件目录下,然后键入命令:masm hello.asm 若出现Object filename

:(不管它,按回车) 若出现Source listing :(不管它,按回车) 若出现Cross-reference

:(不管它,按回车) 若出现 0 Warning Errors 《表示没有错误警告》 0 Server

Errors 《表示没有服务器错误》 则表示成功编译了hello.asm 为 hello.obj

此时目录下会有个新文件叫做hello.obj



5.4 键入 link hello.obj (意思是将此文件生成hello.exe可执行文件) 若出现Run File :(不管它,按回车) 若出现List File :(不管它,按回车) 若出现Libraries :(不管它,按回车) 若出现Link

:warning L4021 : no stack segment (不管它,按回车)



5.5 此时命令行会回到C:> (并且文件夹下有 hello.exe)

5.6 键入命令 hello.exe (即执行汇编代码经过编译和链接后生成的可执行文件hello.exe)



关于debug的使用:



输入命令:R,查看程序运行前的寄存器组初始值

输入命令:U,查看程序反汇编代码。从反汇编代码中可看出,变量会被汇编为直接寻址方式,使用变量在数据段内的有效地址表示

输入命令:T,单步调试

输入命令:D,观察内存变化(D后不带地址或范围,默认显示上一个D命令之后的80字节内容)

输入命令:G 地址,程序从当前位置直接运行到指定地址处停下

输入命令:E 地址修改内存中的内容,如:E DS:0100,输入空格可逐个字节修改,回车停止修改

PS: 那么问题来了,debug出来的很多看不懂,咋办?

戳这里 http://www.cnblogs.com/BoyXiao/archive/2010/11/20/1882716.html

资源下载:需要两个资源(我已在CSDN上传,不要分

dosbox http://download.csdn.net/detail/xu_san_duo/9723755

masn5.0 http://download.csdn.net/detail/xu_san_duo/9723748

如果对你有帮助,请转载点赞。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息