欢迎来到天天文库
浏览记录
ID:51646657
大小:331.50 KB
页数:79页
时间:2020-03-27
《《汇编语言程序格式》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章汇编语言程序格式主要内容汇编语句的格式、源程序结构、汇编语言程序开发方法汇编语言中的数值表达式和地址表达式常用伪指令及操作符功能、以及参数的表达、变量的定义,还有变量和标号的属性教学要求掌握:(1)汇编语言源程序格式(2)数据定义语句(3)段定义语句(4)伪指令语句(5)符号定义语句了解:汇编程序的开发过程,一些不常用的伪指令,如:地址计数器$、指定起始位置伪指令ORG、EVEN伪指令等。4.1汇编语言程序开发汇编语言程序的开发必须经过编写源程序、编译、连接和运行3个主要步骤,而编写汇编语言源程序要遵守汇编语言的语
2、句格式和程序格式。4.1.1汇编语言语句格式用汇编语言编写的源程序是由许多语句(又称汇编指令)组成的。每个语句由1~4个部分组成,它们有两种格式:执行性语句——由硬指令构成的语句,它通常对应一条机器指令:[标号:]指令助记符[操作数,操作数][;注释]说明性语句——由伪指令构成的语句,它通常指示汇编程序如何汇编源程序[名字]伪指令助记符[参数,参数,…][;注释]其中,用方括号括起来的部分,可以有也可以没有。每部分之间用空格(至少一个)分开,一行最多可有132个字符。标识符标号和名字是符合汇编语法的用户自定义的标识符。标
3、识符是用来标识指令或某一存储单元地址,每个标识符的定义是唯一的。可由下列字符组成:字母:A~Z,a~z;数字:0~9;特殊字符:?、·、@、_、$。数字不能作为标识符的第一个字符,而圆点仅能用做第一个字符。标识符最长为31个字符。当标识符后跟冒号时,表示是标号,它代表该行指令的起始地址;当标识符后不带冒号时,表示变量;伪指令前的标识符不加冒号。指令助记符指令助记符表示不同操作的指令,可以是8088的指令助记符,也可以是伪指令。操作数操作数是指令执行的对象。依指令的要求,可能有一个、两个或者没有。如:RET;无操作数COU
4、NT:INCCX;一个操作数如果是伪指令,则可能有多个操作数(参数)。如:COSTDB3,4,5,6,7;5个操作数MOVAX,[BP+4];第二个操作数为表达式注释该项可有可无,是为源程序所加的注释,用于提高程序的可读性。使用分号区分为注释语句。4.1.2汇编语言程序格式程序由一条一条语句(指令)构成,每条语句占一行。汇编语言程序中,语句可以分为3种:指令性语句(指令语句,在第3章已经介绍)指示性语句(伪指令语句,在本章4.3节介绍)宏指令语句(或宏调用语句,在第6章介绍)汇编语言源程序的组成原则(1)完整的汇编语言源
5、程序由段组成。(2)需独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点。(3)所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内。(4)通常,程序还需要一个堆栈段。完整段定义格式DATAREASEGMENT;定义数据段;数据定义语句DATAREAENDS;**************************PROGNAMSEGMENT;定义代码段;---------------------------------------------------MAINPROCF
6、AR;主程序ASSUMECS:PROGNAM,DS:DATAREASTART:;程序起始执行地址;为程序返回DOS设置堆栈值PUSHDS;入栈保存原DS段址SUBAX,AX;设置偏移地址为0PUSHAX;入栈保存偏移地址;置DS寄存器为当前数据段MOVAX,DATAREA;DATAREA段地址MOVDS,AX;存入DS寄存器;主程序部分RET;返回DOSMAINENDP;主程序结束;----------------------------------------------------SUB1PROCNEAR;定义子程序
7、;子程序部分SUB1ENDP;子程序结束;------------------------------------------------------------------------------PROGNAMENDS;代码段结束;***********************************ENDSTART;汇编结束汇编语言源程序结构特点(1)汇编语言程序通常由若干段组成,段由伪指令SEGMENT与ENDS定义,各段顺序任意,段的数目按需要确定,原则上不受限制。(2)段由若干语句组成,语句以指令为主体而构成。
8、一条语句写在一行上,书写时语句的各部分应尽量对齐。(3)汇编语言程序中至少要有一个启动标号,作为程序开始执行时目标代码的入口地址。启动标号常用START、BEGIN、MAIN等命名。(4)为增加程序的可读性,可在汇编语言语句“;”后加上注释。简化段定义格式.MODELSMALL;定义存储器模型.STACK100H;定
此文档下载收益归作者所有