新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 第7章 NASM的使用教程(X86汇编教程)

第7章 NASM的使用教程(X86汇编教程)

作者: 时间:2016-12-01 来源:网络 收藏

好了,打开记事本新建立一个文本文件,保存,你会得到一个扩展名为TXT的文件.把扩展名改成ASM吧!


改完了吗?什么?你说图标和我不同?那是正常现象,请不要在意....

好了.ASM文件就是汇编代码文件用来写汇编代码.用记事本就可以编辑它,当然,你也可以专门找汇编代码编辑工具(这就是我改扩展名后图标和你不同的原因哟,专门的汇编代码编辑器有自己的图标!),不过我认为新手的话用记事本就足够了,专门编辑工具会让你眼花!

好了,用记事本打开它,写入下面的代码:

ORG 0100H;这行代码之前没讲过,以后会讲!

MOV AX,0B800H

MOV BX,AX

MOV CX,BX

MOV DX,CX

好了,把代码保存到文件里.

接着我们来编译它,再次建立一个文本文件,还是要改扩展名.改为BAT(见下图↓):


用记事本按照下面的语法写入内容:

NASM "代码文件名.扩展名" -o "要生成的文件名.扩展名"

注意空格哟!

实例:

NASM "新建 文本文档.ASM" -o "1.COM"


写完了,保存,把NASM解压到同一个文件夹:


双击运行BAT文件.如果你之前的步骤都没做错的话,就会发现多出一个COM文件.不要急着运行它!这个就是你的代码编译出来的东西!你知道么?DeBug还能调试编译出来的程序呢!我们用DeBug调试它吧,再次建立一个BAT文件,用记事本按照以下语法写入内容:

DeBug 要调试的文件名.扩展名

注意:文件名前面有一个空格,文件名本身不能带空格!

实例:

DeBug 1.COM


运行后就会出现DeBug窗口,输入R指令,看看第一行代码:


你也许已经震惊的发现,第一行代码尽然不是代码里的第一行:ORG 0100H,而是第二行MOV AX,0B800H

其实事情的原因是这样的:

那个ORG,其实不是汇编指令来的那个是一个标识,告诉编译器,这篇代码将来有可能被加载到内存的什么地方(请注意DeBug里面的MOV指令的偏移地址,没错,是0100H!)

注意:这个0100H可不是ORG伪指令设定的!(实际上CPU根本就没有,专门给编译器的指令称作伪指令)ORG只是告诉NASM,这篇代码会被加载到0100H好让NASM做好准备而已(这个以后就会知道)

好了试试看运行一下吧:T指令,看成功了,把B800放进了AX里面,再继续AX被复制到了BX里面.



上一页 1 2 下一页

关键词: NASMX86汇编教

评论


相关推荐

技术专区

关闭