文档介绍:汇编语言程序设计简明教程
1
第二章数据定义与传送
数据的定义
数据的传送
汇编语言上机操作
习题二
2
数据的定义
数据段
数据定义
3
(1)  变量(Varible)
有一个名字,运行过程中值可能发生变化,可以有 “初始值”。
(2)  常数(Constant)
常数可以直接写在指令内,也可以存放在数据段内。
(3)  缓冲区(Buffer)
从输入设备输入若干数据时,在数据段里事先留出必要 的存储单元,称为“输入缓冲区”。
输出一批数据时,把输出内容事先存放在若干内存单元 中,称为“输出缓冲区”。
汇编语言程序定义的“数据”:
4
数据段
DATA SEGMENT
; 在这里定义数据;
; ……
DATA ENDS
DATA: 程序员给这个段起的名字。
SEGMENT:保留字,说明一个段从这里开始。
ENDS: 保留字,说明一个段到此结束。
; 分号后面的文字是“注释”,不参加汇编
伪指令:说明性的语句
语句”: 由一行文字构成,是
一条指令,或者定义 一组数据,或者是一 条“伪指令”。
5
数据定义
数据定义伪指令:
[变量名] 数据定义伪操作数据1 [,数据2]……
数据定义伪操作:
DB(Define Byte):每个数据占用一个字节(8b)
DW(Define Word):每个数据占用一个字(16b)
DD(Define Double Word):每个数据占用一个双字(32b)
DQ(Define QuartWord):每个数据占用8个字节(64b)
DT(Define Ten Word):每个数据占用10个字节(80b)
6
DATA SEGMENT
X db -1, 255, ‘A’, 3+2, ?
db “ABC”, 0FFH,11001010B
Y db 3 dup(?)
DATA ENDS
数据定义举例(1):
有符号数用它的补码存储
字符用ASCII代码存储
db定义的数据在[-128~255] 之内
变量名代表这个单元的地址
?表示一个尚未确定的值
DUP表示重复定义
7
DSEG SEGMENT
Z DW -2, -32768, 65535, ‘AB’
W DD 12345678H, -400000
DW Z, W-Z
DSEG ENDS
数据定义举例(2):
DW定义的数据在(-32768, 65535)内
出现在数据部分的变量名代表这个变量的偏移地址
多字节数据的高位存放在较高地址单元中
8
变量X,Y,Z,W的属性
变量名
段属性
SEG
偏移地址
OFFSET
类型
TYPE
长度
LENGTH
大小
SIZE
X
DATA
0000H
1
1
1
Y
DATA
000AH
1
3
3
Z
DSEG
0000H
2
1
2
W
DSEG
0008H
4
1
4
9
数据的传送
指令格式
程序段
基本传送指令
其他传送指令
堆栈
操作数表达式
10