欢迎来到天天文库
浏览记录
ID:51620328
大小:547.50 KB
页数:14页
时间:2020-03-26
《MASM汇编语言程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、教学内容本章以Microsoft公司的宏汇编程序MASM为背景,介绍面向80x86的汇编语言程序设计方法。包括汇编语言源程序的格式、伪指令、宏指令以及顺序结构、分支结构、循环结构、过程调用等汇编语言程序设计方法。具体内容如下:1、汇编语言源程序的格式及汇编语言上机过程2、伪指令3、宏指令4、汇编语言程序设计的基本方法(包括顺序程序、分支程序、循环程序、子程序)学习要求汇编语言程序设计是“微型计算机原理”课程非常重要的内容之一。通过本章学习,应该达到如下要求:1、熟练掌握汇编语言格式及调试方法。2、掌握子程序和宏指令的概念、定义及其调用方法。3、掌握DOS调用和BIOS调用的方
2、法。4、熟练掌握顺序程序、分支程序、循环程序设计的基本方法和一般技巧。第5章汇编语言程序设计5.1汇编语言的基本概念5.2汇编语言源程序的格式5.3伪指令语句5.4宏指令语句5.5汇编语言程序的上机过程5.6汇编语言程序设计的基本方法在学习了计算机和微处理器的组成以及指令系统后,就具备用汇编语言进行程序设计的能力了。汇编语言是一种面向机器的程序设计语言,其基本特征是用一组字母、数字和符号来代替二进制编码的机器指令和数据。5.1汇编语言的基本概念5.1汇编语言的基本概念程序设计语言是专门为计算机编程所配置的语言。它们按照形式与功能的不同可分为三种,即机器语言、汇编语言和高级语言
3、。1.机器语言机器语言(MachineLanguage)是由0和1二进制代码书写和存储的指令与数据。它的特点是能被机器直接识别与执行;程序所占内存空间较少。其缺点是难认、难记、难编、易错。2.汇编语言汇编语言(AssemblyLanguage)使用指令的助记符、符号地址、标号等书写程序的语言,简称符号语言。它的特点是易读、易写、易记。其缺点是不能为机器所直接识别。3.高级语言高级语言(HighLevelLanguage)是脱离具体机器(即独立于机器)的通用语言,不依赖于特定计算机的结构与指令系统。为什么要用汇编语言编写程序凡是学过一种程序设计高级语言的人,都会有高级语言“易学
4、易用”的感觉,这是因为高级语言的语句是面向数学语言和自然语言的,因此容易接受、掌握。相对来说汇编语言编制程序比高级语言要困难些。既然如此,为什么还要学习和使用汇编语言呢?主要有以下几点:⑴汇编语言是机器语言的符号表示语言,因此,程序设计人员可以充分利用机器硬件的全部功能,发挥机器的长处。⑵现在的微机系统中,底层的一些功能仍然靠汇编语言程序来实现。例如机器的自检、系统初始化、实际的输入输出操作,至今仍然是用汇编语言编制的程序来完成。⑶汇编语言程序的效率通常高于高级语言程序。所以在节省内存空间和提高程序运行速度的重要场合,如实时控制,常常使用汇编语言来编制的。鉴于以上理由,现在许
5、多高级语言都设置有与汇编语言程序接口的功能,以便于提高高级语言程序的效率。5.2汇编语言源程序的格式例5.1要求将两个5字节十六进制数相加,可以编写出以下汇编语言源程序。DATASEGMENT;定义数据段,DATA为段名DATA1DB0F8H,60H,0ACH,74H,3BH;给数赋初值DATA2DB0C1H,36H,9EH,0D5H,20HDATAENDS;数据段结束CODESEGMENT;定义代码段ASSUMECS:CODE,DS:DATA;用ASSUMW伪指令定义;各段寄存器的内容START:MOVAX,DATA;将DS初始化为数据段MOVDS,AX;首地址的段值DAT
6、AMOVCX,5;循环次数送CXMOVSI,0;置SI初值为0CTCLOOPER:MOVAL,DATA2[SI]ADCDATA1[SI],AL;与被加数相加INCSIDECCXJNZLOOPERMOVAH,4CH;DOS功能调用语句,机器将结束INT21H;本程序运行,返回DOSCODEENDSENDSTART;源程序结束STACKSEGMENT┇STACKENDSDATASEGMENT┇DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:…┇CODEENDSENDSTART例5-2编写一个两字相加的程序。DSEGSE
7、GMENT;定义数据段DATA1DW1234H;定义被加数DATA2DW5678H;定义加数DSEGENDS;数据段结束ESEGSEGMENT;定义附加段SUMDW2DUP(?);定义存放结果区ESEGENDS;附加段结束CSEGSEGMENT;定义代码段;下面的语句说明程序中定义的各段分别用哪个段寄存器寻址ASSUMECS:CSEG,DS:DSEG,ES:ESEGSTART:MOVAX,DSEG;START为程序开始执行的启动标号MOVDS,AX;初始化DSMOVAX,ESEGMOVES,AX;初始化
此文档下载收益归作者所有