微机原理与接口技术第6章_宏汇编语言程序设计分解.pptVIP

  • 3
  • 0
  • 约1.4万字
  • 约 88页
  • 2017-04-22 发布于湖北
  • 举报

微机原理与接口技术第6章_宏汇编语言程序设计分解.ppt

第6章 宏汇编语言程序设计;6.1 汇编语言程序格式 6.1.1 概念;完成两个字节数据相加。 DATA SEGMENT ; 伪指令语句 BUF1 DB 34H BUF2 DB 2AH SUM DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX, DATA ; 指令语句 MOV DS, AX MOV AL, BUF1 ADD AL, BUF2 MOV SUM, AL MOV AH, 4CH INT 21H ;返回DOS CODE ENDS END START; ; 6.1.2 语句格式; 根据语句功能的不同, 名字项可用来表示段名、变量名、 标号、过程名等。; 名字的两种主要形式:标号和变量 标号: 在代码段中定义,后面跟着冒号“:”,标号作为目标操作数经常在转移指令或调用指令中出现,用以表示转向地址。 标号的三种属性: 段属性(SEGMENT):标号所在段的段基值。 偏移地址属性(OFFSET):标号所在地址与其所在段首址之间的偏移地址字节数。 类型属性(TYPE):反应转移过程中标号可转移的距离,类型NEAR为近标号,只能实现段内转移;类型FAR为远标号,可实现段间转移。;变量: 变量在数据段、附加段或堆栈段中定义,后面不跟冒号。变量通常指存放在存储单元中的值,在程序运行中是可以修改的。 变量的三种属性: 段属性(SEGMENT):变量所在段的段基值。 偏移地址属性(OFFSET):变量所在地址与其所在段首址之间的偏移地址字节数。 类型属性(TYPE):指变量中每个元素所包含的字节数,类型有:字节变量(BYTE)、字变量(WORD)及双字变量(DWORD)等。; 操作码可以是指令、伪指令中的助记符,用以指明操作的性质或功能。;操作数给出参与操作的数或数所在的地方。 操作数多于一个时,用逗号分开。 操作数可以是常数、寄存器、存储器操作数、变量、 标号、过程名或表达式(下一节介绍)等。;常数 给出具体的数据。可以是数字常量或字符常量。 数字默认十进制,也可加D表示十进制数。如 1234D, 1234 数字后加B表示二进制数。 如 1010B 数字后加H表示十六进制数。 如 1234H 字符常量,用单引号表示。 如 ‘1234’ 汇编时,用字符对应的ASCII表示。如 31H, 32H, 33H, 34H; A、B、C、D、E、F开头的十六进制数前面加0, 与H结尾的标识符区别。 如 寄存器名AH、BH、CH、?DH 变量名 abcdH 等 例: mov AL, 0AH mov AL, AH mov BX, 0abcdH;由分号引出,用来说明语句或程序的功能。 汇编程序对分号后的内容不做处理。 作用: ①注释程序,增强程序可读性。 ②可放在语句最前,暂时注释某语句,调试程序用。 例: 、、、 ; MOV AH, 2 ;显示提示信息 ; MOV DL, ’A’ ; INT 21H 、、、; 表达式 表达式由运算对象(常量、标号、变量)及运算符组成。 汇编程序对表达式进行运算后,得到一个确定的数值,再把这个数值汇编到指令中。 运算结果可以是一个常数字,也可以是一个存储器的地址。故表达式分数字表达式、地址表达式。 表达式是指令或伪操作的操作数; 表达式中的操作符由汇编程序完成 例 MOV AX, 12 - 4 ;MOV AX, 8 ;数字表达式 LEA BX, [ string + 4 ] ;地址表达式 ;表达式中的操作符 有以下几类: 1). 算术运算符 ( +、-、*、/、MOD ) 2). 逻辑运算符 ( AND、OR、NOT、XOR ) 3). 关系运算符 ( EQ、NE、GT、GE、LT、LE ) 真:FFFFH; 假: 0 4). 数值返回操作符 ( SEG、OFFSET、TYPE、LENGTH、SIZE ) 5)

文档评论(0)

1亿VIP精品文档

相关文档