资源描述:
《汇编语言程序设计教程课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、课程性质本课程是计算机科学与技术专业的必修课程、也是本系其它专业专业课程学习的专业基础课程。教学目的本课程向学生介绍汇编语言程序设计的方法和技巧。以PC计算机的汇编语言为主,通过课堂教学和上机实习,使学生掌握DOS和Windows汇编序言程序设计的特点及技术,即汇编工具Masm611和Masm32的使用;掌握软件与硬件的交互原理,即DOS、BIOS功能的调用方法、MSDN的使用、API的调用熟练使用使用调试工具Debug和W32Dasm理解高级语言的实现原理1.1汇编语言的由来与特点计算机语言是人与计算机之间交流信息的工具程序:
2、用计算机语言描述的处理步骤。程序设计:编制处理步骤的过程。计算机语言可分为三类:◆机器语言◆汇编语言◆通用语言面向机器设计的,低级语言面向程序设计人员设计的,高级语言机器指令是CPU能直接识别并执行的指令它的表现形式是二进制编码。机器指令通常由操作码和操作数两部分组成,操作码指出该指令所要完成的操作,即指令的功能,操作数指出参与运算的对象,以及运算结果所存放的位置等。机器语言是直接用描述机器指令来设计程序,它是CPU能直接识别的唯一一种语言。也就是说,CPU能直接执行用机器语言描述的程序。一、机器语言10100000;1号单元内
3、容取入AL寄存器000000010000000010001010;2号单元内容取入AH寄存器00100110000000100000000000000000;AL的内容与AH的内容相加,结11100000;果存入AL中10100010;AL的内容送入3号单元000000110000000011110100;停机一、机器语言一、机器语言缺点:(1)机器语言难记,程序难编,易错,调试困难;(2)机器语言通用性差。优点:(1)计算机能直接认识、执行;(2)算法刻画细致;(3)程序紧凑,占用内存空间少,执行速度高;(4)能充分发挥计算机
4、的硬件功能。二、汇编语言随着计算机的发展,产生了符号语言,上面的程序用符号语言编写如下:MOVAL,DATA1;取第一个数据MOVAH,DATA2;取第二个数据ADDAL,AH;求和MOVRLT,AL;保存结果HLT;停机二、汇编语言汇编语言:符号语言的词法、语法规则及伪指令符号就构成了汇编语言。汇编过程:把汇编语言程序翻译成机器语言程序的过程称为汇编过程。汇编程序:完成汇编过程的程序称为汇编程序。汇编语言程序:程序设计人员用汇编语言编写的程序,是汇编程序加工的对象,称为源程序。目标程序:汇编程序产生的结果,也称作是目的程序。D
5、SEGSEGMENT;数据段开始DATA1DB15HDATA2DB26HRLTDB0DSEGENDS;数据段结束CSEGSEGMENT;代码段开始ASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEG;设置数据段基址MOVDS,AXMOVAL,DATA1;取第一个数据MOVAH,DATA2;取第二个数据ADDAL,AH;求和MOVRLT,AL;保存结果HLT;停机CSEGENDS;代码段结束ENDSTART;源程序结束二、汇编语言种类:8086汇编,8051汇编等执行过程:二、汇编语言汇编程序计算机源程序目标
6、程序连接程序可执行程序二、汇编语言优点:(1)程序容易编制、出错机会少、容易调试;(2)算法刻画细致;(3)程序紧凑、占用内存空间少、执行速度高;(4)能充分发挥计算机的硬件功能。缺点:(1)计算机不能直接认识、执行,必须经过汇编变为机器语言程序;(2)通用性差。通用语言:是用来对计算机操作步骤进行描述的一整套标记符号、表达格式、结构及其使用的语法规则。种类:Pascal,BASIC,C,COBOL,Java等等例子(C):inti,j,k;k=i+j;三、通用语言(高级语言)执行过程:三、通用语言(高级语言)编译程序计算机源程
7、序目标程序连接可执行程序三、通用语言(高级语言)优点:(1)程序容易编制、出错机会少、容易调试;(2)容易表达算法;(3)通用性强。缺点:(1)计算机不能直接认识、执行,必须经过编译变为机器语言程序;(2)编译后生成的机器语言程序冗长、占用内存空间多、执行速度低;(3)不能充分发挥计算机的硬件功能。计算机语言发展简史机器语言汇编语言高级语言FORTRANBASICCOBOLPASCALC/C++JAVA…...汇编语言的应用领域汇编语言的优点在于“与机器相关”和“执行的高效率”。但也导致其可移植性差和调试难。所以,我们在选用汇编
8、语言时要根据实际的应用环境,尽可能避免其缺点对整个应用系统的影响。汇编语言主要适用于下列领域:要求执行效率高、反应快的领域,如操作系统内核,工业控制,实时系统等。系统性能的瓶颈,或频繁被使用子程序或程序段。与硬件资源密切相关的软件开发,如设备驱动程序。受存储容量