汇编语言PPT课件
- 格式:ppt
- 大小:777.00 KB
- 文档页数:158


汇编
汇编大多是指汇编语言,汇编程序。把汇编语言翻译成机器语言的过程称为汇编。在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理的系统软件。
汇编汇编语言(Assembly Language)是面向机器的程序设计语言。
汇编语言比机器语言易于读写、易于调试和修改,同时也具有机器语言执行速度快,占内存空间少等优点,但在编写复杂程序时具有明显的局限性,汇编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植。
是能完成一定任务的机器指令的集合。
常说汇编语言过时,是低级语言,并不是说汇编语言要被弃之,相反,汇编语言仍然是程序员必须了解的语言,在某些行业与领域,汇编是必不可少的,非它不可适用。只是,现在计算机最大的领域为IT软件,也是我们常说的 Windows 编程,在熟练的程序员手里,使用汇编语言编写的程序,运行效率与性能比其它语言写的程序是成倍的优秀,但是代价是需要更长的时间来优化,如果对计算机原理及编程基础不扎实,实在是得不偿失,对比现在的软件开发,已经是市场化的软件行业,加上高级语言的优秀与跨平台,一个公司不可以让一个团队使用汇编语言来编写所有的东西,花上几倍甚至几十倍的时间,不如使用其它语言来完成,只要最终结果不比汇编语言编写的差太多,就能抢先一步完成,这是市场经济下的必然结果。
但是,至今为止,还没有程序员敢断定汇编语言是不需要学的,一个不懂汇编语言的程序员,只是三流的程序员,这是大部分人的共识,同时,技术汇编语言(Assembly Language)是面向机器的程序设计语言精湛的汇编程序员,已经脱离软件开发,挤身于工业电子编程中,一个电子工程师,主要开发语言就是汇编,c语言使用只占极少部分,而电子开发工程师是千金难求,在一些工业公司,一个核心的电子工程师比其它任何职员待遇都高,对比起来,一般电子工程师待遇是程序员的十倍以上。这种情况是因为现在学习汇编的人虽然也不少,但是真正能学到精通的却不多,它难学,难用,适用范围小,虽然简单,但是过于灵活,学习过高级语言的人去学习汇编比一开始学汇编的人难得多,但是学过汇编的人学习高级语言却很容易,简从繁易,繁从简难。
计算机语言具有高级语言和低级语言之分。而高级语言又主要是相对于汇编语言而言的,它是较接近自然语言和数学公式的编程,基本脱离了机器的硬件系统,用人们更易理解的方式编写程序。
低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。
高级语言并不是特指的某一种具体的语言,而是包括很多编程语言,如目前流行的java,c,c++,C#,pascal,python,lisp,prolog,FoxPro,VC,易语言,中文版的C语言习语言等等,这些语言的语法、命令格式都不相同。
高级语言与计算机的硬件结构及指令系统无关,它有更强的表达能力,可方便地表示数据的运算和程序的控制结构,能更好的描述各种算法,而且容易学习掌握。但高级语言编译生成的程序代码一般比用汇编程序语言设计的程序代码要长,执行的速度也慢。所以汇编语言适合编写一些对速度和代码长度要求高的程序和直接控制硬件的程序。高级语言、汇编语言和机器语言都是用于编写计算机程序的语言。
高级语言程序“看不见”机器的硬件结构,不能用于编写直接访问机器硬件资源的系统软件或设备控制软件。为此,一些高级语言提供了与汇编语言之间的调用接口。用汇编语言编写的程序,可作为高级语言的一个外部过程或函数,利用堆栈来传递参数或参数的地址。
机器语言(machine language)是一种指令集的体系。这种指令集,称机器码(machine
code),是电脑的CPU可直接解读的数据。机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指指令系统
它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活、直接执行和速度快等特点。
一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如,操作码字段和地址码字段,其中操作码指明了指令的操作性质及功能,地址码则给出了操作数或操作数的地址。
汇编语言2005—2006学年第二学期期末考试复习题及参考答案
一、填空1.十进制数369转换成二进制数为()2,转换成十六进制数为()16.
2.计算机中的指令由(操作码)和(地址码)两部分组成。
3.8086的地址总线有20根,寻址范围为(1M)字节。
4.下一条将要执行的指令的地址存放在寄存器()中。
5.写出IBMPC机的三种子程序返回的指令(RET),(IRET),(IRETD)。
6.汇编语言源程序需经过(汇编)程序汇编,(obj)程序连接才能生成可执行文件。
7.存储器某单元的地址表示为2314H:4132H,则它的偏移地址=(4132),物理地址=
(2314h+4132h=6446h)8.REP指令前缀与()指令配合使用。
9.在显示器上查看和修改内存单元的内容可以使用DEBUG的()和()命令。
10.(AL)=BFH,要求屏蔽第0,1两位,则要执行指令();如果要求第0,1位变反,可使用指
令()11.宏汇编适合于(),()的子功能段使用;
二、选择题1.设字长N=16,有符号数7AE9H的补码表示为()
A.9EA7HB.76C4HC.8417HD.7AE9H
2.比较有符号数3260H与0B425H的大小关系为()
A.相等B.小于C.大于D.不能比较
3.指令JMPWORDPTR[BX][DI]中转移的目标地址为()
A.16dx(DS)+(BX)+(DI)B.16dx(ES)+(BX)+(DI)
C.16dx(SS)+(BX)+(DI)D.16dx(CS)+(BX)+(DI)
4.在指令MOVAX,[1000H]中,源操作数的寻址方式为()
A.立即寻址B.直接寻址C.段内间接寻址D.寄存器寻址
5.中断矢量表中存放的是()
A.中断类型号B.断点地址C.中断服务程序D.中断服务程序入口地址
6.8086的汇编语言指令系统中的条件转移指令可以使程序转移到()
A.段内的任何地方B.距该指令偏移地址为-32768~+32767的地方
《汇编语言》教学大纲
课程名称:汇编语言
学分:3 总学时:48 讲课学时:40 实验学时:8
考核方式:考查
先修课程:计算机组成原理,高级语言程序设计 ,数字逻辑
适用专业:软件工程(软件开发方向)
开课系或教研室:信息工程系
(一)课程性质与任务
1.课程性质:专业必修课
2.课程任务:汇编语言程序设计" 是软件工程专业必修的语言基础课。本课程的任务是解决CPU级编程的问题,使学生掌握CPU级语言的特点、编程方法和基本技能;学生要达到对程序在计算机中的基本调度有一定认识,对二进制基础理论有深入的理解,同时熟练掌握8086汇编语言的编写方式,掌握基本的系统调用,具备良好的源程序调试等能力,为深入学习后续课程和从事有关计算机硬件、软件方面的设计打下基础。
(二)课程教学基本要求
本课程总课时48,其中理论教学40课时,实验环节8课时。教学要求完成前述课程任务。成绩计算形式为,总成绩 = 课程考试成绩×60%+平时成绩×40%
(三)课程教学内容
第1章 基础知识
1. 掌握进位计数制与不同基数间的转换
2. 二进制和十六进制运算
3. 计算机中的数和字符表示
4. 基本的逻辑运算
重点:二进制和十六进制运算
难点:二进制和十六进制运算
第2章80x86计算机组织
1. 80x86微处理器
2. 基于微处理器的计算机系统构成
3. 中央处理器
4. 存储器
5. 外部设备
重点:基于微处理器的计算机系统构成,存储器,中央处理器
难点:中央处理器
第3章80x86的指令系统和寻址方式
1. 8x86的寻址方式
2. 80x86机器语言指令概况 3. 80x86的指令系统
重点: 8x86的寻址方式,80x86机器语言指令概况,80x86的指令系统。
难点: 80x86的指令系统
第4章汇编语言程序格式
1. 汇编程序功能
2. 伪操作
3. 汇编语言程序格式
4. 汇编语言程序的上机过程