汇编语言程序设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据段
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 ?
次数 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
变量 内容 偏移地址 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)字数据存储时,低字节存储在低地址单元中,
56H
高字节存储在高地址单元中;
0 0
(3)字符被存放时为它的ASCII码,
0
例 ‘A’的ASCII码为41H;
0
(4)符号地址具有以下关系:
0
D_B = D_A+3
D_C+7 0
D_D = D_B+2 = D_A+6
第5章汇编语言程序设计
ORG 100H
第5章汇编语言程序设计
1. 源程序组成 ★源程序=∑段
★段=∑语句
★[名字] 指令/伪指令 [操作数1[,操作数2…]]
第5章汇编语言程序设计
段: 代码段 数据段 堆栈段 附加段
南通大学计算机科学与技术学院
Baidu Nhomakorabea
第5章汇编语言程序设计
段
段:数据段、堆栈段、附加段、代码段
一个汇编语言源程序中,代码段是不可缺少的,其
它段(数据段、堆栈堆、附加段)视具体情况而定。
该程序共有2个段:行1~行5为一段、行6~行19为 一段
DATA、CODE分别为2个段的名字。每一段有明显 的起始语句与结束语句,这些语句称为“段定义”语 句。代码段的第一个语句ASSUME(本例中行7),用于 明确段与段寄存器的关系。
本程序中DATA是数据段、CODE是代码段。
3 10A
D_H DW $+2
4 10B
D_H 0EH 10C
代表当前偏移地址
01H 10D
第5章汇编语言程序设计
2.符号定义伪指令
(1) EQU 格式:名字 EQU 表达式
DB、 DW 、 DD 、 DQ、 DT
字节、字、双字、4字、5字的变量。
第5章汇编语言程序设计
操作数:
(1) 数字常量:十进制、八进制、十六进制、二进制 等,缺省形式是十进制; (2) 字符常量,用单引号括起来,被存储的是该字符 的ASCII码; (3) 符号常量,必须是预先已定义的符号; (4) 符号“?”,表示预留空间,内容不定; (5) DUP,表示内容重复的数据。具体形式为:
第5章汇编语言程序设计
语 句:
指令语句 伪指令语句 宏指令语句
第5章汇编语言程序设计
语句: ★指令性语句,由CPU执行,如:语句8~语句17。 ★指示性语句,指示汇编,如语句1、5、6、19、20。
名字:段 名,如:DATA、CODE 变量名,如:A、B、SUM 过程名,如:MAIN 标号名,如:START
第5章汇编语言程序设计
名字
汇编语言源程序中的变量名、标号、常量名、 段名、宏名等统称为“名字”。
段 名,如:DATA、CODE 变量名,如:A、B、SUM 过程名,如:MAIN 标号名,如:START
第5章汇编语言程序设计
(1).名字命名规则
1) 组成名字的合法字符有: ● 字母(不分大小写); ● 数字0~9; ● 特殊符号(“?”,“:”,“@”,“_”,“$”)。
占空间大小,以字节计。
2)段名:该段起始位置的段地址值
第5章汇编语言程序设计
3)过程名 或标号名
用于程序跳转
段属性:过程起始位置或标号处 段地址值
偏移量:过程起始位置或标号处 偏移地址值
类 型:NEAR、FAR
4)常量名:代表一常数
第5章汇编语言程序设计
5.1.2 汇编语言伪指令
1.数据定义伪指令 [变量名] 数据定义伪指令 操作数1[,操作数2…]
2)名字以字母开头。 3)不能把保留字用作名字。
第5章汇编语言程序设计
(2).名字属性
段属性:变量所代表的数据区所在段的
段基址 ;
偏移量:变量所代表的数据区首字节所
在段内偏移地址 ;
1)变量名
类 型:BYTE、WORD、DWORD、DQ、DT 长 度:变量所代表的数据区中数据元
素的个数。
规 模:变量所代表的数据区中数据所
令,所以汇编语言也是面向机器的语言。
第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
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章汇编语言程序设计
第5章 汇编语言程序设计
5.1 汇编语言基础知识及伪指令 5.2 汇编语言程序实现 5.3 汇编语言程序设计方法及应用 5.4 汇编语言程序设计举例
第5章汇编语言程序设计
5.1 汇编语言基础知识及伪指令
汇编语言(Assembly Language)是一种 采用指令助记符、符号地址、标号、伪指令 等符号编写程序的程序设计语言。 用汇编语言编写的程序称为汇编语言源程 序(Source Program)。 一般情况下,一个助记符对应一条机器指