- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言详解
汇编语言(Assembly Language)是面向机器的程序设计语言。? 汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。? 用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理的系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。? 汇编语言比机器语言易于读写、易于调试和修改,同时也具有机器语言执行速度快,占内存空间少等优点,但在编写复杂程序时具有明显的局限性,汇编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植。? 是能完成一定任务的机器指令的集合。? 常说汇编语言过时,是低级语言,并不是说汇编语言要被弃之,相反,汇编语言仍然是程序员必须了解的语言,在某些行业与领域,汇编是必不可少的,非它不可适用。只是,现在计算机最大的领域为IT软件,也是我们常说的 Windows 编程,在熟练的程序员手里,使用汇编语言编写的程序,运行效率与性能比其它语言写的程序是成倍的优秀,但是代价是需要更长的时间来优化,如果对计算机原理及编程基础不扎实,实在是得不偿失,对比现在的软件开发,已经是市场化的软件行业,加上高级语言的优秀与跨平台,一个公司不可以让一个团队使用汇编语言来编写所有的东西,花上几倍甚至几十倍的时间,不如使用其它语言来完成,只要最终结果不比汇编语言编写的差太多,就能抢先一步完成,这是市场经济下的必然结果。? 但是,至今为止,还没有程序员敢断定汇编语言是不需要学的,一个不懂汇编语言的程序员,只是三流的程序员,这是大部分人的共识,同时,技术精湛的汇编程序员,已经脱离软件开发,挤身于工业电子编程中,一个电子工程师,主要开发语言就是汇编,c语言使用只占极少部分,而电子开发工程师是千金难求,在一些工业公司,一个核心的电子工程师比其它任何职员待遇都高,对比起来,一般电子工程师待遇是程序员的十倍以上。这种情况是因为现在学习汇编的人虽然也不少,但是真正能学到精通的却不多,它难学,难用,适用范围小,虽然简单,但是过于灵活,学习过高级语言的人去学习汇编比一开始学汇编的人难得多,但是学过汇编的人学习高级语言却很容易,简从繁易,繁从简难。? 总之,汇编语言是程序员的必修语言。? 经典教材 在计算机之中,教材没有经典,只有合适。所以一份关于汇编的“经典教材”是没有的!? 经典教材首推王爽的《汇编语言》。这是一个非常经典的入门书,适合初学者,学习起来就像看小说一样轻松。关键是动手实践的内容很多,在学习第二章后就可以调试一些指令。?经典编译环境 汇编的调试环境总的来说比较少,也很少有非常好的编译器。reallychenchi设计的轻松汇编是一款非常适合初学者的汇编编译器。轻松汇编是一个汇编语言集成开发环境,主要面向汇编语言初学者,也可以用它进行开发。除了普通的编辑功能以外,它还可以自动整理格式、高亮显示和编译、链接、调试汇编程序,非常方便实用。? 轻松汇编的最大特点是可以格式整理,就像VC6.0一样,可以设置断点调试,省却了使用者的不少工作。它可以在Win98/2k/XP下运行,是一款很优秀的软件。?汇编常用命令 MOV 指令为双操作数指令,两个操作数中必须有一个是寄存器.? MOV DST , SRC // Byte / Word? 执行操作: dst = src? 1.目的数可以是通用寄存器, 存储单元和段寄存器(但不允许用CS段寄存器).? 2.立即数不能直接送段寄存器? 3.不允许在两个存储单元直接传送数据? 4.不允许在两个段寄存器间直接传送信息? PUSH 入栈指令及POP出栈指令: 堆栈操作是以后进先出的方式进行数据操作.? PUSH SRC //Word? 入栈的操作数除不允许用立即数外,可以为通用寄存器,段寄存器(全部)和存储器.? 入栈时高位字节先入栈,低位字节后入栈.? POP DST //Word? 出栈操作数除不允许用立即数和CS段寄存器外, 可以为通用寄存器,段寄存器和存储器.? 执行POP SS指令后,堆栈区在存储区的位置要改变.? 执行POP SP 指令后,栈顶的位置要改变.? XCHG(eXCHanG)交换指令: 将两操作数值交换.? XCHG OPR1, OPR2 //Byte/Word? 执行操作: Tmp=OPR1 OPR1=OPR2 OPR2=Tmp? 1.必须有一个操作数是在寄存器中? 2.不能与段寄存器交换数据? 3.存储
您可能关注的文档
- 第九章 安徽理工大学C#期末考试试卷.doc
- 心理健康内容要领.doc
- 油藏开发动态监测概述-附件.doc
- 第五章 实例解读网卡驱动.doc
- 第五篇 表面活性剂在固液界面上吸附.doc
- SQLJ开发对象及参照类型演示程序.doc
- 局域网的共享和网上邻居安全.doc
- 小米手机网络营销策划方案讲述.doc
- 第3课 贴片电容封装尺寸.doc
- 游标使用全解-附件.doc
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
文档评论(0)