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

发布者:钱老李最新更新时间:2015-05-15 来源: 51hei关键字:NASM  X86  汇编教程 手机看文章 扫描二维码
随时随地手机看文章
本章将讲解汇编编译器NASM的使用方法.
 
首先,下载NASM: http://www.51hei.com/f/nasm.rar 
        别急着运行......也许有人已经运行了一下,会发现一个黑色的窗口闪烁一下就什么都没有了.这是正常现象.请不要以为是NASM坏了.
嘛.暂时先不要动它,我们先编写一篇代码吧.
        首先你要设定你的系统让你的系统显示文件扩展名.什么是文件扩展名呢?那是文件的一个附加名字,在文件名后面加一个点,后面就是扩展名,一般由1~4个英文字母组成(其中3个英文字母的扩展名最多).用来表示文件的类型,一般是不显示出来的.
        如果你已经设定了请跳过这一步.32位XP设置显示扩展名方法:
 
        首先,打开任意文件夹,在菜单中找到"工具",在弹出的菜单里找到"文件夹选项"

 
 

打开了这个窗口(见下图↓)

1:点击"查看",

2:把[隐藏已知文件的扩展名]选项前面的勾去掉.

3:点击窗口下面的"应用"按钮,

4:再点击"确定"按钮. 
 


 

然后再看看你电脑里的文件,文件名都显示了扩展名了,请先熟悉一下扩展名吧,以后改文件名的时候要注意,改错扩展名会导致文件类型丢失(当然,记得扩展名的话,能改回来)!

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


 

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

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

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

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里面.
 

好了,本章就讲到这里,我每隔几天写一章希望期间你能多多练习!


关键字:NASM  X86  汇编教程 引用地址:第7章 NASM的使用教程(X86汇编教程)

上一篇:第9章 内存操作(X86汇编教程)
下一篇:第7章 NASM的使用教程(X86汇编教程)

推荐阅读最新更新时间:2024-03-16 14:02

AMD授权中国合资企业x86技术 开发中国专用服务器芯片
    北京时间4月22日消息,据《华尔街日报》网络版报道,AMD日前达成一项协议,允许旗下一家新成立的中国合资企业使用其专利技术以开发芯片,这些技术一直被认为是AMD及其竞争对手英特尔皇冠上的明珠。此举有可能招致英特尔的反对,也折射出AMD欲寻找新的营收渠道的巨大压力,长久以来,AMD一直在微处理器市场苦苦挣扎。   此外,这也反映出中国的强烈诉求。中国一直希望减少对外国技术的依赖,为此中国大举投资及收购海外芯片企业,一度引发美国政府的严格审查。   AMD的声明正值其发布第一季度财务报告之际。财报中,AMD对第二季度的业绩展望超出分析师预期,促使其股价盘后大涨23%。   AMD在协议中表示,已向与天津海光先
[手机便携]
Intel密谋Big.Little大小核x86新架构:代号Lakefield
对手机SoC有些了解的朋友,定然对“Big.Little”架构不陌生,这是ARM平台上首创的一种异构CPU设计,可以兼顾高性能与低功耗。 你有没有想过,Intel x86也可以效仿呢? 理论上,Intel基于x86指令集开发了很多CPU架构,高性能的有Core(酷睿),比如“Coffee Lake”“Skylake”“Haswell”等,低功耗的平台则有ATOM在用的“Silvermont”“Goldmont”等。 据the Motley Fool科技爆料人Ashraf Eassa,Intel正在秘密研发代号“Lakefield”的架构设计,其中高性能大核基于“Icelake”,小核基于“Tremont”。
[半导体设计/制造]
VxWorks for x86系统中实时时钟的应用
   0 引言   VxWorks是美国WRS(Wind River System)公司推出的一个具有微内核、可裁剪的高性能强实时操作系统,该实时操作系统在航空、广播、运输、医疗、自动化生产和科学研究等领域中有着广泛的应用,尤其是在国防和军事上的一些高精尖技术及实时性要求极高的领域中,就更体现出了其优越的性能。   X86或80X86是Intel公司开发的微处理器体系结构的泛称。采用X86架构的Intel CPU及其兼容CPU都使用X86指令集,作为个人计算机的标准平台,它们构成了当今数量最大的CPU阵营。VxWorks可支持多种不同体系结构的32位CPU,其中就包括现在使用最为广泛的X86系列CPU。    1  V
[嵌入式]
英特尔发布全新低功耗x86 CPU架构—Tremont,性能优越
在加利福尼亚州圣克拉拉市举行的Linley秋季处理器大会上,英特尔披露了首个Tremont微架构的细节。作为英特尔最新和最先进的低功耗x86 CPU架构,Tremont提供的性能较前代产品显著提升。 英特尔Tremont首席架构师Stephen Robinson表示:“Tremont是英特尔迄今为止最先进的低功耗x86架构。我们着眼于一系列现代化复杂工作负载,同时兼顾联网、客户端、浏览器、电池等因素,以全面高效地提升性能。它是一款专为提升紧凑型低功耗系列产品的处理能力而设计的世界级CPU架构。” 相比英特尔前一代低功耗x86架构,Tremont新一代低功耗x86 微架构的IPC(每周期指令数)显著提升。Tremont专为提
[嵌入式]
英特尔发布全新低功耗<font color='red'>x86</font> CPU架构—Tremont,性能优越
AMD发布双核6瓦x86处理器 不需风扇散热
7月31日消息,据国外媒体报道,芯片厂商AMD发布了一款双核x86系统芯片。这种芯片的耗电量为6瓦,可用于无风扇的工业应用。 AMD的G系列系统芯片是该公司主要的低功耗芯片,主要用于自动化、瘦客户机、工业平板电脑和游戏机等工业应用。AMD发布的型号为GX-210JA的双核1G GHz x86系统芯片的热设计功率是6瓦,平均功耗为3瓦,可以用于无风扇的平板电脑中。 AMD以前曾表示,它将研制基于ARM的嵌入式处理器。但是,AMD的x86嵌入式芯片可能仍然是一个关键的重点和推动销售的因素。AMD能够把双核x86处理器的耗电量降低到6瓦的能力给人们留下了深刻的印象。这种双核x86处理器包括一个主频为255MHz的Rade
[手机便携]
Sun开发x86处理器计划被甲骨文否决
  新浪科技讯 北京时间6月29日晚间消息,据国外媒体周二报道,知情人士透露,甲骨文已经取消了Sun开发x86芯片的计划。   此前有报道称,Sun计划开发低端x86处理器,从而向英特尔发起挑战。Sun最初将Facebook 、雅虎和谷歌这些公司视为潜在客户,因为他们都需要大量服务器。   但最新消息称,这只是Sun在被甲骨文收购之前作出的决定。如今,该计划已经被甲骨文取消。很明显,没有几家公司愿意斥巨资来挑战英特尔。   去年4月,甲骨文宣布以74亿美元收购Sun。今年1月,甲骨文宣布完成交易。甲骨文表示,在第一年内Sun将给甲骨文带来15亿美元的运营利润。(李明)
[嵌入式]
基于SoC的X86到ARM二进制翻译和执行功能的系统设计
二进制翻译是一种直接翻译可执行二进制程序的技术,能够把一种处理器上的二进制程序翻译到另外一种处理器上执行。它使得不同处理器之间的二进制程序可以很容易的相互移植,扩大了硬件/软件的适用范围,有助于打破处理器和支持软件之间的相互扼制的局面。二进制翻译技术的优点为:不需要重编译源码就可以实现软件从旧平台到新平台的移植;快速为新机器提供软件,包括移植操作系统和编译器;充分利用新机器的特性优化代码;减少培训费用,因为使用的是相同的软件,所以不必在新平台上重新培训员工;降低了多平台软件的费用。    1 SOC架构设计   1.1 处理器的确定   通用处理器与硬件逻辑是SoC设计的主流架构。在一些需要大量数据处理的应用中,这样的架构并
[单片机]
基于SoC的<font color='red'>X86</font>到ARM二进制翻译和执行功能的系统设计
AMD想靠X86处理器重振雄风,这有戏吗?
    腾讯科技讯 AMD在4月中旬发布了2015年第一季度财报。AMD第一季度营收同比下跌26%,环比下跌17%。尽管营收急剧下跌,但由于利润率提高和库存调整,经营亏损比上一季度有所好转。我们很难预测AMD能否在今年第二季度取得更好的业绩,但AMD已经公布了恢复公司财务状况的下一步计划。 AMD在2015年分析师大会上勾勒了两个关键业务的发展路线——计算和图形、企业和嵌入式解决方案。一个有意思的变化是,AMD根据三个关键市场——数据中心、游戏和临境感平台——组织其产品策略。AMD认为其目前及即将发布的产品将会在这三个市场有出彩的表现。 推出新的Zen系列处理器 AMD分析师大会作出的最重要的决定是全力回到x86处理器市场。引领
[手机便携]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved