第6章汇编语言程ppt课件.ppt

第6章汇编语言程ppt课件.ppt

ID:59017208

大小:268.00 KB

页数:47页

时间:2020-09-26

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

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

1、第6章汇编语言程序设计汇编语言是面向机器、功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。使用汇编语言编写的程序,需要被翻译成机器语言,才能被计算机识别,这种起翻译作用的程序叫汇编程序。汇编语言编译器把汇编语言源程序翻译成机器语言的过程称为汇编。高级的汇编器(如MASM、TASM)为程序员编写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。9/9/20211指令:是可执行的,汇编后由相应的机器代码所取代;伪指令:是不可执行的,只是在源程序汇编期间由汇编程序处理

2、的命令,指示汇编程序为数据分配内存空间,或者提供段定义等信息,不产生任何机器代码源程序可执行文件目标模块文本编辑器汇编程序连接程序调试程序机器语言:计算机能够直接识别与执行高级语言:是完全独立于机器的通用语言,效率低,面向过程、面向对象,必须译成机器语言。汇编语言:符号化语言。用指令的助记符、符号地址、标号等编写程序的语言。9/9/202126.1汇编语言程序概述STACK_SEGSEGMENTSTACK;定义堆栈段STACK_SEGDW100HDUP(?);分配堆栈段大小为512字节STACK_SEGENDS;堆栈段结束DATA_SEGSEGMENT;定义数据段DATA_SEG

3、XDB10;定义数据YDB5ZDB1ANSDB?DATA_SEGENDS;数据段结束CODE_SEGSEGMENT;定义代码段CODE_SEGASSUMECS:CODE_SEG,DS:DATA_SEG;确定CS/DS/SS指向的逻辑段START:MOVAX,DATA_SEG;装入数据段的段地址DSMOVDS,AXMOVAL,X;程序代码ADDAL,YSUBAL,ZMOVANS,ALMOVAX,4C00H;返回DOSINT21HCODE_SEGENDS;代码段结束ENDSTART;汇编结束,程序起始点为START9/9/20213.MODELSMALL.STACK100H.DATA

4、S1DB100DUP(5)S2DB100DUP(?).CODE.STARTUPMovax,dsMoves,axMovcx,50CLDMOVSI,OFFSETS1MOVDI,OFFSETS2REPMOVSBMovah,9Movdx,offsets2Int21h.EXIT0END9/9/202146.1.1汇编语言程序的语句格式一、执行性语句执行性语句是由可执行指令构成的语句,即为指令系统中的指令,以机器码的形式保存在程序的代码段中。其语句的完整格式为:标号:指令助记符操作数,操作数;注释标号是用户定义的标识符,它反映了指令的位置(逻辑地址)和类型。标号后跟一个冒号分隔,通常表示转移

5、指令或循环指令的目标地址。例如JMPLABL,即为跳转到LABL标号处的指令执行。标号为可选项。标示符的命名有一定的规则:一般最多由31个字母、数字及规定的特殊符号(如_、$、?、@)组成,不能以数字开头;不能用系统的保留字;标识符定义不区分大小写字母,且每一个标识符都是唯一的。9/9/20215二、说明性语句说明性语句是由伪指令构成的语句,它通常指示汇编程序如何汇编源程序。其语句完整格式为:名字伪指令助记符参数,参数,...;注释1、名字是用户定义的标识符,其命名规则与标号相同。名字通常用于定义变量名、过程名或者段名。名字和伪指令助记符之间用空格或制表符分隔。2、伪指令助记符伪

6、指令不产生CPU动作,是在程序执行前由汇编程序处理的说明性指令。例如XDB10;DB即为定义变量X的伪指令。3、参数伪指令的参数可以是常数、变量名、表达式等,可以有多个,参数之间用逗号分隔。9/9/202166.1.2汇编语言的程序格式简化段定义格式简洁、易于掌握,引入存储模式使得程序方便地与其他微软开发工具组合;完整段定义格式烦琐,但可以提供更多的段属性,有时也是必须采用的;只有MASM5.0以后的版本才支持简化段定义。9/9/20217----------完整段定义格式:STACK_SEGSEGMENTSTACK;定义堆栈段STACK_SEGDW100HDUP(?);分配堆栈

7、段大小为512字节STACK_SEGENDS;堆栈段结束DATA_SEGSEGMENT;定义数据段DATA_SEGS1DB100DUP(5)S2DB100DUP(?)DATA_SEGENDS;数据段结束CODE_SEGSEGMENT;定义代码段CODE_SEGASSUMECS:CODE_SEG,DS:DATA_SEG,ES:DATA_SEGSTART:MOVAX,DATA_SEG;设置数据段的段地址DSMOVDS,AXCLD;程序代码MOVSI,OFFSETS1MOVDI,OFF

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

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

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