欢迎来到天天文库
浏览记录
ID:43216320
大小:302.50 KB
页数:97页
时间:2019-10-03
《汇编语言程序设计课件4》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章汇编语言程序格式§4.1汇编语言语句种类及格式§4.2伪操作§4.4汇编语言的上机过程§4.1汇编语言语句种类及格式指令语句伪指令语句宏指令一、指令语句使CPU产生动作、并在程序执行时才处理的语句,就是第2章学习的处理器指令书写格式[标号:]指令助记符[DEST[,SRC]][;注释]标号:一条指令的符号地址。可以省略,如有必须以“:”作为结束标志。在程序段或子程序段的第一条指令处可使用标号,以在程序需要时转移到该处时,以标号的形式引用。指令语句—标号的命名标号的命名:根据用途,由字母、数字、专用符号?-$@约定:最长31个字符第一个字符不能是数字?-$@
2、可出现在标号的任意位置,但?$不能单独使用.只能出现在起始位置一个程序中,每个标识符的定义是唯一的,且不能与任何保留字相同二、伪指令语句(Directive)——不产生CPU动作、在程序执行前由汇编程序处理的说明性语句,例如,数据说明、变量定义等等伪指令与具体的处理器类型无关,但与汇编程序的版本有关[名字]伪指令[操作数][;注释]伪指令语句—格式说明符号名字段:与标号相区别,不带“:”可以是常量名、变量名、过程名、结构名、记录名等可视为指令语句中的操作数(如符号名就表示一个常量或存储地址命名规则与标号相同伪指令字段:规定这条语句要求汇编程序完成的具体操作§4.
3、2伪操作一、数据定义及存储器分配伪操作二、表达式赋值伪操作三、段定义伪操作四、程序开始和结束伪操作五、地址计数器及对准伪操作六、基数控制伪操作七、处理器选择伪操作数据是语句中操作数的基本组成部分一般来讲数据具有数值和属性两个特征汇编语言能识别的数据项包括:常数、变量和标号一、数据定义及存储器分配伪操作变量:代表存储在某些存储单元中的数据,在程序运行期间可以修改;对变量的访问以变量名的形式进行;可认为变量名为存储单元的符号地址变量的定义与预置由数据定义伪操作完成分配存储单元起名字赋初值一、数据定义伪指令的格式变量名DBDWDDDQ表达式1,表达式2,…段属性(SE
4、G):表示变量存放在哪个逻辑段中,访问时要使之成为当前段偏移量属性(OFFSET):表示变量在所属逻辑段中距起始点的距离类型属性(TYPE):表示变量所占字节数一、数据定义伪指令(表达式)数值表达式D1DB12H,34H,56H(D1)=12H,(D1+1)=34H,(D1+2)=56HD2DW1234H,5678H(D2)=1234H,(D1+2)=5678H?表达式:表示该单元的内容任意D3DB?,?;表示分配2个字节D4DW?,?;表示分配2个字一、数据定义伪指令(表达式)字符串表达式STR1DB‘ABCDE’;为每个字符分配1个单元STR2DW‘AB’,
5、’CD’;为由2个字符组成的字符串分配2个单元41H42H43H44H45HSTR142H41H44H43HSTR2一、数据定义伪指令(表达式)带DUP的表达式变量名DBDWDDDQ表达式1DUP(表达式2)D1DB20HDUP(?);预留20H个字节,内容任意次数内容D2DB10HDUP(‘ABCD’);重复10H个‘ABCD’,共占40H字节D3DW10HDUP(4);重复10H个字单元,内容0004H,共占20H字节一、数据定义伪指令(表达式)带DUP的表达式—DUP操作符可重复使用D4DB10HDUP(4DUP(2),7);重复10H个(2,2,2,2,
6、7),共占50H字节标号指令的符号地址段属性(SEG)偏移量属性(OFFSET)距离属性(Distance类型):表示标号的转移特性类型:NEAR:本标号只能被标号所在段的指令访问(段内转移、调用)FAR:可被其他段的指令访问(段间调用、转移)标号设置标号距离属性的方法1)隐含方式:在指令语句中使用标号后,其隐含为NEAR属性SUB1:MOVAL,30H;SUB1具有NEAR属性;该方式定义的标号只能具备NEAR属性标号设置标号距离属性的方法2)用LABEL伪指令赋予标号距离属性名称LABEL类型SEGOFFSETDistance标识符标号NEAR/FARBYT
7、E/WORD变量/Type该伪指令一般与指令语句/数据定义伪指令连用,以补充或设置与值连用的标号/变量的距离/类型属性设置标号距离属性的方法(例1)SUB1:MOVAL,30H标识符SUB1_FARSUB1均为指令的符号地址,他们具有SEGOFFSET相同的属性,但Distance属性不同SUB1_FAR:FARSUB1:NEAR段内转移/调用:SUB1SUB1_FARLABELFAR段间转移/调用:SUB1_FAR设置变量类型属性的方法(例2)D_WORDDW20HDUP(?)D_BYTED_WORD均为变量名,他们具有相同的SEGOFFSET属性,但TYPE
8、属性不同D_BYTE:B
此文档下载收益归作者所有