汇编中的冒号什么意思?

来源:百度知道 编辑:UC知道 时间:2024/05/26 15:32:14
有多少种情况,都是一样的含义吗?举例说明一下啊。

我知道的有这么三种情况:

1、段寄存器说明语句
在汇编语言源程序中可以定义多个段,每个段都要与一个段寄存器建立一种对应关系。建立这种对应关系的说明语句格式如下:

ASSUME 段寄存器名:段名[, 段寄存器名:段名, ……]

其中:段寄存器是CS、DS、ES、SS、FS和GS,段名是在段定义语句说明时的段名。

在一条ASSUME语句中可建立多组段寄存器与段之间的关系,每种对应关系要用逗号分隔。例如,

ASSUME CS:CODE1, DS:DATA1

上面的语句说明了:CS对应于代码段CODE1,DS对应于数据段DATA1。

在ASSUME语句中,还可以用关键字NOTHING来说明某个段寄存器不与任何段相对应。下面语句说明了段寄存器ES不与某段相对应。

ASSUME ES:NOTHING

在通常情况下,代码段的第一条语句就是用ASSUME语句来说明段寄存器与段之间的对应关系。在代码段的其它位置,还可以用另一个ASSUME语句来改变前面ASSUME语句所说明的对应关系,这样,代码段中的指令就用最近的ASSUME语句所建立的对应关系来确定指令中的有关信息。

例6.1 汇编语言段及其段说明语句的作用。

DATA1 SEGMENT ;定义数据段DATA1
word1 DW 5678h
byte1 DB "ABCDEFG"
DATA1 ENDS
DATA2 SEGMENT ;定义数据段DATA2
word2 DW 1234h
word3 DW 9876h
DATA2 ENDS
DATA3 SEGMENT ;定义数据段DATA3
byte2 DB ?
DATA3 ENDS
CODE1 SEGMENT ;编写代码段CODE1
ASSUME CS:CODE1, DS:DATA1, ES:DATA2 ;(1)

MOV AX