当前位置:文档之家› 汇编语言程序设计

汇编语言程序设计

次数 DUP(被重复的内容)
第5章汇编语言程序设计
【例】D_A D_B D_C
DB 10, ‘A’, ‘BC’ DW 1234H DQ 5678H
D_A 0AH 41H 42H
注:
43H
D_B 34H
(1)DB定义的数据,每个数据元素占据1个存储单元;
12H
DW定义的数据,每个数据元素占据2个存储单元;D_C 78H
DATA ENDS CODE SEGMENT
MAIN PROC FAR ASSUME CS:CODE,DS:DATA START:PUSH DS
MOV AX,0 PUSH AX
MOV AX,DATA MOV DS,AX MOV AX,X ADD AX,Y MOV RESULT,AX RET MAIN ENDP CODE ENDS END START
第5章汇编语言程序设计
1. 源程序组成 ★源程序=∑段
★段=∑语句
★[名字] 指令/伪指令 [操作数1[,操作数2…]]
第5章汇编语言程序设计
段: 代码段 数据段 堆栈段 附加段
南通大学计算机科学与技术学院
第5章汇编语言程序设计

段:数据段、堆栈段、附加段、代码段
一个汇编语言源程序中,代码段是不可缺少的,其
第5章汇编语言程序设计
语 句:
指令语句 伪指令语句 宏指令语句
第5章汇编语言程序设计
语句: ★指令性语句,由CPU执行,如:语句8~语句17。 ★指示性语句,指示汇编,如语句1、5、6、19、20。
名字:段 名,如:DATA、CODE 变量名,如:A、B、SUM 过程名,如:MAIN 标号名,如:START
(2)字数据存储时,低字节存储在低地址单元中,
56H
高字节存储在高地址单元中;
0 0
(3)字符被存放时为它的ASCII码,
0
例 ‘A’的ASCII码为41H;0Leabharlann (4)符号地址具有以下关系:
0
D_B = D_A+3
D_C+7 0
D_D = D_B+2 = D_A+6
第5章汇编语言程序设计
ORG 100H
占空间大小,以字节计。
2)段名:该段起始位置的段地址值
第5章汇编语言程序设计
3)过程名 或标号名
用于程序跳转
段属性:过程起始位置或标号处 段地址值
偏移量:过程起始位置或标号处 偏移地址值
类 型:NEAR、FAR
4)常量名:代表一常数
第5章汇编语言程序设计
5.1.2 汇编语言伪指令
1.数据定义伪指令 [变量名] 数据定义伪指令 操作数1[,操作数2…]
第5章汇编语言程序设计
名字
汇编语言源程序中的变量名、标号、常量名、 段名、宏名等统称为“名字”。
段 名,如:DATA、CODE 变量名,如:A、B、SUM 过程名,如:MAIN 标号名,如:START
第5章汇编语言程序设计
(1).名字命名规则
1) 组成名字的合法字符有: ● 字母(不分大小写); ● 数字0~9; ● 特殊符号(“?”,“:”,“@”,“_”,“$”)。
数据段
CODE SEGMENT
;语句6
ASSUME CS:CODE,DS:DATA
MAIN PROC FAR ;语句8
START:PUSH DS
;语句9
……….

RET
;语句17
MAIN ENDP
;语句18
CODE ENDS
;语句19
END START
代码段
第5章汇编语言程序设计
DATA SEGMENT X DW 2010H Y DW 2011H RESULT DW ?
令,所以汇编语言也是面向机器的语言。
第5章汇编语言程序设计
5.1.1源程序的结构与组成
【例5-1】 编写汇编源程序,计算2010H +2011H,并把和存入RESULT单元。
DATA A B SUM
DATA
SEGMENT DW 123 DW 456 DW ? ENDS
;语句1 ;语句2 ;语句3 ;语句4 ;语句5
DB、 DW 、 DD 、 DQ、 DT
字节、字、双字、4字、5字的变量。
第5章汇编语言程序设计
操作数:
(1) 数字常量:十进制、八进制、十六进制、二进制 等,缺省形式是十进制; (2) 字符常量,用单引号括起来,被存储的是该字符 的ASCII码; (3) 符号常量,必须是预先已定义的符号; (4) 符号“?”,表示预留空间,内容不定; (5) DUP,表示内容重复的数据。具体形式为:
2)名字以字母开头。 3)不能把保留字用作名字。
第5章汇编语言程序设计
(2).名字属性
段属性:变量所代表的数据区所在段的
段基址 ;
偏移量:变量所代表的数据区首字节所
在段内偏移地址 ;
1)变量名
类 型:BYTE、WORD、DWORD、DQ、DT 长 度:变量所代表的数据区中数据元
素的个数。
规 模:变量所代表的数据区中数据所
3 10A
D_H DW $+2
4 10B
D_H 0EH 10C
代表当前偏移地址
01H 10D
第5章汇编语言程序设计
2.符号定义伪指令
(1) EQU 格式:名字 EQU 表达式
第5章汇编语言程序设计
第5章 汇编语言程序设计
5.1 汇编语言基础知识及伪指令 5.2 汇编语言程序实现 5.3 汇编语言程序设计方法及应用 5.4 汇编语言程序设计举例
第5章汇编语言程序设计
5.1 汇编语言基础知识及伪指令
汇编语言(Assembly Language)是一种 采用指令助记符、符号地址、标号、伪指令 等符号编写程序的程序设计语言。 用汇编语言编写的程序称为汇编语言源程 序(Source Program)。 一般情况下,一个助记符对应一条机器指
变量 内容 偏移地址 D_E ? 100
D_E DB 3 DUP(?)
下一个存储位置从偶地址开始
? 101 ? 102
103
EVEN
D_F 00H 104
己定义变量,取该变量偏 移地址
01H 105
D_F DW D_E
D_G 1 106 3 107
D_G DB 2 DUP(1,3,4)
4 108 1 109
它段(数据段、堆栈堆、附加段)视具体情况而定。
该程序共有2个段:行1~行5为一段、行6~行19为 一段
DATA、CODE分别为2个段的名字。每一段有明显 的起始语句与结束语句,这些语句称为“段定义”语 句。代码段的第一个语句ASSUME(本例中行7),用于 明确段与段寄存器的关系。
本程序中DATA是数据段、CODE是代码段。
相关主题