汇编语言程序设计及上机指导 第5章 汇编语言语法[优质课].pptVIP

  • 9
  • 0
  • 约1.56万字
  • 约 51页
  • 2017-04-22 发布于河南
  • 举报

汇编语言程序设计及上机指导 第5章 汇编语言语法[优质课].ppt

汇编语言程序设计及上机指导 第5章 汇编语言语法[优质课]

第5章 汇编语言语法 ;指令:是可执行的,汇编后由相应的机器代码所取代; 伪指令:是不可执行的,只是在源程序汇编期间由汇编程序处理的命令,指示汇编程序为数据分配内存空间,或者提供段定义等信息,不产生任何机器代码 ;5.1.1 汇编语言程序的基本概念;5.1.2 汇编语言的基本语法;三、保留字 寄存器名、指令助记符、伪操作命令、表达式运算符,以及属性操作符等都是系统专用的保留字。这些保留字是不能用作标识符的。 四、语句 一条语句一般只占一行,超过一行时必须用续行符号“\”指示 两条语句不能写在同一行。 语句可以有注释,一般写在语句之后或单独占一行,是以“;”开始的字符串。;5.2 汇编语言的数据和表达式;二.符号定义伪指令 用于给程序中多次出现的同一个常量或表达式赋一个符号名,也可以为其它符号名取一个新名字,并赋给新的类型属性。 (1) EQU伪指令 例: FIRST EQU 1 ;定义常数 SECOND EQU FIRST*3+8 ;定义数值表达式 ADDR1 EQU DS:[EBP+4] ;定义地址表达式 DWORDS EQU THIS DWORD ;定义下面的字节变量为双字类型 BYTES DB 10 DUP (0) ADDR2 EQU WORD PTR BYTES ;重新定义变量BYTES的名字和属性 START: MOV EAX,EBX GOON EQU FAR PTR START ;重新定义标号START的名字和属性 COUNT EQU ECX ;为ECX重新取名 注意:该等值语句只作为符号定义用,不产生任何目标代码,也不占用存储单元,并且不能是程序中曾经定义过的符号名。;(2) “=”伪指令 “=”伪操作命令与EQU具有相同的功能,但它定义的符号允许重新定义。 例:PERSON=10 ;定义PERSON等于10 PERSON=PERSON+5 ;重新定义PERSON等于15;5.2.2 变量;二.变量定义伪指令 就是为数据分配存储单元,且对这个存储单元取一个名字,即变量名。语句的格式如下: [变量名] DB/DW/DD/DF/DQ/DT 表达式1,表达式2,…… 变量名是可选的,DB/DW/DD/DF/DQ/DT是伪操作命令必须选用一种,表达式是赋给变量的初值,常见的有如下几种: (1)数值变量定义语句 例: D_BYTE DB 30H,40H DB 50H D_WORD DW 1234H,5678H D_DWORD DD D_DWORD D_TBYTE DT ? D_FWORD DF 1234567890ABH D_QWORD DQ 1122334455667788H;(2)字符串变量定义语句 可以用DB来实现,即为串中的每一个字符分配一个字节存储单元。字符串必须用引号括起来,并且不超过256个字符,它们在内存中自左至右把字符的ASCII码按地址递增顺序依次存放。 例: STRING1 DB ABCDEFG 用DW也可以定义字符串变量,即给两个字符组成的字符串分配两个字节存储单元,它们在内存中的顺序是前一个字符为高字节,存放在高地址,后一个字符为低字节,存放在低地址。 例: STRING2 DW AB,CD,EF;(3)?语句 存储单元中不预置确定的值,常用来预留存储单元,存放程序的中间结果或最终结果。 例:FIRST DB ? ;分配一个字节单元 SECOND DD ?,?,? ;分配三个双字单元 (4)带DUP的变量定义语句 DUP 是重复数据定义操作符,可以为若干重复数据分配存储单元,并赋给相应的变量名。 例:D1 DB 5 DUP (0) D2 DW 10H DUP (5678H) D3 DD 20H DUP (?) 第一条语句为

文档评论(0)

1亿VIP精品文档

相关文档