第5章汇编语言程序设计ppt课件.ppt

第5章汇编语言程序设计ppt课件.ppt

ID:58933567

大小:3.02 MB

页数:146页

时间:2020-09-28

第5章汇编语言程序设计ppt课件.ppt_第1页
第5章汇编语言程序设计ppt课件.ppt_第2页
第5章汇编语言程序设计ppt课件.ppt_第3页
第5章汇编语言程序设计ppt课件.ppt_第4页
第5章汇编语言程序设计ppt课件.ppt_第5页
资源描述:

《第5章汇编语言程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章 汇编语言程序设计主要内容:汇编语言源程序的结构汇编语言语句格式伪指令功能调用汇编语言程序设计15.1汇编语言概述1、机器语言——二进制数形式的指令和数据。B064是什么意思?这就是机器语言。既不直观,又不易理解和记忆.2、汇编语言----MOVAL,64H;很容易记忆理解,这就是助记符。助记符——用便于记忆的英语单词表示的指令操作码。它反映了指令的功能和主要特征,便于人们理解和记忆。指令除了操作码以外,还有一个操作数问题。操作数可能放在存储器中,这就涉及操作数的地址。程序中遇到转移指令或调用指令,也需要知道转移地

2、址,若采用具体地址就很不方便,一旦有错,改动也很麻烦。于是人们采用标号或符号来代替地址。2LP1:movax,VAR…loopLP1汇编语言——指令助记符,符号地址,标号,伪指令等语言元素的集合以及这些元素使用的规则。用汇编语言编写的程序叫汇编语言源程序。汇编源程序需翻译成机器语言,变成可执行文件,机器才能执行,这个翻译过程叫汇编。——高级语言中称该过程为“解释”或“编译”。执行翻译的程序称为“汇编程序”。源程序的编译程序汇编程序汇编语言源程序机器语言目标程序3汇编语言程序设计与执行过程输入汇编语言源程序源文件.ASM汇

3、编(编译)目标文件.OBJ链接可执行文件.EXE调试最终程序小汇编:ASM宏汇编:MASM3、高级语言:通用性强。例:MATLAB、C、Pascal45.2汇编语言源程序的格式汇编语言源程序通常由一个或几个程序模块组成,每个模块一般由三个逻辑段组成:数据段——存放数据、变量DATASEGMENTDATAEDNS堆栈段——堆栈区域STACKSEGMENTSTACKENDS代码段——存放程序指令CODESEGMENTCODEEDNS5.2.1分段结构5一个基本的汇编语言程序框架如下:stackSEGMENTPARA‘stac

4、k‘DB100DUP(‘stack’)stackENDSdataSEGMENT<数据、变量在此定义>dataENDScodeSEGMENTASSUMECS:code,DS:data,ES:datastart:MOVAX,dataMOVDS,AXMOVES,AX<此处加入你自己的程序段>MOVAH,4CHINT21HcodeENDSENDstart堆栈段数据段代码段6例:将两个五字节的16进制数相加DATASEGMENT;定义数据段DATA1DB0F8H,60H,0ACH,74H,3BH;变量一,字节DATA2DB0C1H

5、,36H,93H,0D5H,20H;变量二,字节DATAENDS;数据段结束CODESEGMENT;定义代码段ASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX;初始化DSMOVCX,5;置循环次数送CXMOVSI,0;(SI)=0CLC;(CF)=07LOOPER:MOVAL,DATA2[SI];取一个字节加数ADCDATA1[SI],AL;与被加数相加,带进位加法INCSI;SI加1DECCX;CX减1JNZLOOPER;若(CX)不等于0,转LOOPERMOVAH,4CHIN

6、T21H;返回DOSCODEENDS;代码段结束ENDSTART;源程序结束注:MOVAH,4CHINT21H;DOS功能调用,结束正在运行的程序,返回DOS85.2.2汇编语言语句的类型和组成汇编语言的语句有两种:指令性语句——由8086指令助记符构成的语句指令性语句的格式为:标号:指令助记符目的操作数,源操作数;注释注:各部分之间至少要用一个空格作为分隔符。指令性语句由CPU执行,每一条指令性语句都有一条机器码指令与其对应指令性语句汇编时生成机器码;例:LOOPER:MOVAL,DATA[SI]9汇编语言的语句有两种

7、:指示性语句——由伪指令构成的语句指示性语句的格式为:名字伪指令操作数1,操作数2,…,操作数n;注释注:各部分之间至少要用一个空格作为分隔符。指示性语句由汇编程序执行。它指出汇编程序应如何对源程序进行汇编,如何定义变量、分配存储单元以及指示程序开始和结束等。指示性语句无机器码指令与其相对应。指示性语句汇编时不生成机器码。例:DATADB0FBH,60H10标号有三个属性:段地址:即标号所在段的段地址;程序中引用一个标号,该标号的段地址应在CS中。偏移量:标号所代表存储单元的段内偏移地址;16位的无符号数类型:NEAR或

8、FAR:NEAR—表示标号所在语句与转移指令/调用指令在同一码段内,跳转时只需改变IP即可。FAR—标号所在语句与转移指令/调用指令不在同一代码段内。若没有对类型进行说明,默认为NEAR。标号通常作为转移指令或CALL指令的转移地址。5.2.3名字11汇编语言的一个实例:hello.asmdataSEGMENTHe

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。