欢迎来到天天文库
浏览记录
ID:51100779
大小:1.08 MB
页数:47页
时间:2020-03-18
《汇编语言基础(2).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、汇编语言基础钱新杰掌握语句的格式掌握指示性语句、段定义语句、过程定义语句和指令语句的基本应用掌握汇编语言程序设计的三大基本结构本次课学习目标1、8086的汇编语言的源程序是分段的,由若干个段形成一个源程序。简述源程序的一般格式?NAME1SEGMENT语句┇语句NAME1ENDSNAME2SEGMENT语句┇语句NAME2ENDS┇END〈标号〉2、简述标识符的基本应用和定义规则?标识符是由程序员自由建立起来的、有特定意义的字符序列。一个标识符是由最多为31个字母、数字及规定的特殊字符(?@_$)等组成的
2、,而且不能用数字打头。复习提问一个汇编语言的源程序是由一条条语句组成的,语句(Statements)就是完成一个动作的说明。源程序中的语句可分成两类:指令语句:汇编程序把它们翻译成机器代码,这些代码命令8086执行某些操作。如MOV、ADD、JMP等。指示性语句(伪指令):汇编程序并不把它们(也不可能)翻译成机器代码,只是用来指示、引导汇编程序在汇编时进行一些操作,如定义符号、分配存储单元、初始化存储器等等,所以伪指令本身不占用存储单元。如:MY_PLACEDB?INCMY_PLACE语句指令语句的格式为
3、:标号:助记符参数,…,参数;注释指示性语句的格式为:名称命令参数,…,参数;注释在IBM宏汇编中有以下几种指示性语句(Directivestatements):(1)符号定义语句(Symboldefinition);(2)数据定义语句(Datadefinition);(3)段定义语句(Segmentationdefinition);(4)过程定义语句(Proceduredefinition);(5)结束语句(Termination)。指示性语句等值语句EQUEQU语句给符号名定义一个值,或定义为别的符号
4、名,甚至可定义为一条可以执行的指令等。EQU语句的格式:NAMEEQUEXPRESSIONEQU语句在未解除前,不能重新定义。例如:BUFFER_SIZEEQU32符号定义语句2.等号(Equalsign)语句=此语句的功能与EQU语句类似,最大特点是能对符号进行再定义。例如:EMP=6EMP=EMP+13.解除语句PURGE已经用EQU命令定义的符号,若以后不再用了就可以用PURGE语句来解除。PURGE语句的格式为:PURCE符号1,符号2,…,符号n注意:PURGE语句本身不能有名字。用PURGE语
5、句解除后的符号可以重新定义。例如:PURGENEW_PORTNEW_PORTEQUPORT_VAL+10数据定义语句,为一个数据项分配存储单元,用一个符号名与这个存储单元相联系,且为这个数据提供一个任选的初始值。与数据项相联系的符号名称为变量。数据定义语句的例子如下:THINGDB?;定义一个字节BIGGER_THINGDW?;定义一个字BIGGEST_THINGDD?;定义一个双字数据定义语句例如:THINGDB25不仅使THING这个符号与一个字节的存储单元相联系,而且在汇编时会把25放入与THING
6、相联系的存储单元中。所以THING是一个字节变量,它的初始值为25。同样,以下语句:BIGGERDW4142H在汇编时就会把41H与42H分别放至与BIGGER_THING相联系的两个连续的字节单元中。下面的语句:BIGGESTDD12345678H它定义了一个双字变量,且给了初始值。当汇编程序汇编时遇到“?”号,则它仍然为数据项分配相应的存储单元(DB分配一个字节、DW分配一个字、DD分配一个双字),但并不产生一个目标码来初始化这些存储单元。即“?”号是为了保留若干个存储单元,以便存放指令执行的中间结果
7、。在实际应用中,还经常会用到由字节、字或双字构成的表。可由在数据定义语句的参数部分,引入若干个用逗号分隔的参数就可以建立一个表。下列语句定义了一个包含2的权的字节的表:POWERS_2DB1,2,4,8,16可以用DUP来缩写若干相同的值。DUP利用给出的一个初值(或一组初值)以及这些值应该重复的次数来初始化存储器。DB100DUP(0);100个字节全初始化为0DW100DUP(0);100个字全初始化为0DW10DUP(?);保留10个字可以用DB数据定义语句在内存中定义一个字符串。字符串中的每一个字
8、符用它的ASCII码表示,为一个字节,故字符串的定义必须用DB命令。有两种定义字符串的方法:一种是字符串中的每一个字符分别定义,每一个字符之间用逗号分隔;另一种方法是在整个字符串的前后都加单引号,例如:EXAM1DB‘THISISANEXAMPLE’IBM宏汇编对在程序中涉及的每一个存储单元与一种类型联系起来,这样能对访问存储器的指令产生正确的目标码。例如,数据定义语句:SUMDB?告诉汇编程序,SUM是字节类型的,以后当遇到
此文档下载收益归作者所有