微型计算机原理及接口技术 作者 赵全利 吕建平 邹雪艳 第4章 80x86汇编语言.pptVIP

  • 2
  • 0
  • 约4.54千字
  • 约 22页
  • 2015-12-09 发布于广东
  • 举报

微型计算机原理及接口技术 作者 赵全利 吕建平 邹雪艳 第4章 80x86汇编语言.ppt

第4章 80x86汇编语言及程序设计 4.1 汇编语言语法基本知识 1. 汇编语言 汇编语言是一种采用助记符表示的机器语言指令。 汇编语言主要包括:指令语句、伪指令语句和词法(语法)。 2. 汇编程序 用汇编语言编写的程序称为源程序。汇编语言源程序必须翻译成机器语言的目标代码(亦称目标程序),计算机才能执行。其翻译工作可由汇编程序自动完成,这一过程称为汇编。 3.指令语句格式: [标识符:] 操作码 [目的操作数] [,源操作数] [; 注释] 4 伪指令语句格式: [标识符] 伪操作符 [操作数] [; 注释] 5 汇编语言的数据 (1)常量 在程序中,数据固定不变的值称为常量。 数值常量表示形式有二进制数、八进制数、十六进制数、十进制数,其后分别跟字母B、Q、H、D(十进制数可省略D)。十六进数以A~F开头时,前面加数字0,以避免和操作码混淆。 (2)变量是在程序运行中可随时改变的量,它实际上是存储器的某一个数据存储单元,对变量的访问就是对这个存储单元的访问。变量名被认为是存放数据的存储单元的符号地址 (3)标识符就是一个符号名称,标识符在源程序中可以表示标号、变量、常量、过程名、段名等。标识符必须按下列规定的字符组成: ●大小写英文字母。 ●数字0~9。 ●一些特殊符号:?、@、-等 6.运算符 (1) 算术运算符: 加(+)、减(-)、乘(*)、除(/)、模除(MOD),参加运算的数和运算结果均为整数。 (2)逻辑运算符: AND(与)、OR(或)、XOR(异或)、NOT(非),其作用是对操作数进行按位操作。其结果不影响标志位。 (3)关系运算符: EQ(相等)、NE(不等)、LT(小于)、GT(大于)、LE(小于等于)、GE(大于等于),该运算符可实现两个数据的比较运算,若关系成立,结果为全1(逻辑真),否则为全0(逻辑假)。 (4)分析运算符: 分析运算符的运算对象必须变量或标号,运算符总是加在运算对象之前,常用的分析运算符如下: 1)SEG运算符组成的表达式可以得到该变量或标号所在段的段基址。 例如: MOV BX, SEG DATA 2)OFFSET运算符组成的表达式可以得到该变量或标号在段内的偏移地址。 例如: MOV SI, OFFSET SOURCE ; 若变量SOURCE在数据段内的偏移地址是1200H,则该指令执行的结果为(SI)=1200H,与指令: LEA SI, SOURCE 等价。 3) LENGTH运算符组成的表达式可以得到分配给变量的连续单元的个数(也称为数组) 4)SIZE运算符组成的表达式可以得到分配给变量所占有的总字节数。 (5) PTR运算符: 用来指定或临时修改某个变量、标号或地址表达式的类型或距离属性,它们原来的属性不变。 类型可以是:BYTE、WORD、DWORD、NEAR和FAR, 例如: DATA DB 12H,34H,56,78H INC BYTE PTR[DI] ;指明目的操作数为字节类型。 MOV AX, WORD PTR DATA ;临时修改DATA为 字类型(AX)=3412H , JMP DWORD PTR[BX] ;指明为段间转移 7、汇编语言源程序的结构: DATA SEGMENT ;定义数据段开始 ……….. DATA ENDS ;数据段结束 STACK SEGMENT PARA STACKSTACK‘ ;定义堆栈段开始 DB 100 DUP(?) ……….. STACK ENDS ;堆栈段结束 CODE SEGMENT ;定义代码段开始 ASSUME CS:CODE,DS:DATA,SS:STACK ; START: M

文档评论(0)

1亿VIP精品文档

相关文档