1

SEG A

Assigns the content held in segment register corresponding to the segment in which A resides to the operand.

我想这意味着如果A位于数据段中,SEG A则与DS.

由于DS保存了数据段的基地址,所以

MOV AX, LEA A
MOV DX, SEG A
MOV AX, [AX + DX]

复制到的物理地址AAX

4

3 回答 3

1

我想这意味着如果 A 位于数据段中,则 SEG A 与 DS 相同。

正确,如果 DS 指向数据段。

MOV AX ,
LEA A
MOV DX, SEG A
MOV AX, [AX + DX]
将A的物理地址复制到AX?

最后一条指令无效,它在任何 x86 CPU 中都不存在。因此,这段代码什么都不做。如果有的话,它只是位于一个 .asm 文件中,等待更正和组装。

于 2013-01-26T03:05:21.680 回答
0

它将AX + DX 地址(即 A)的内容复制到 AX。

MOV AX, LEA A ; Copy A offset to AX
MOV DX, SEG A ; Copy A segment to DX
MOV AX, [AX + DX] ; Copy A to AX
于 2013-01-25T19:09:34.630 回答
0

SEG 提供操作数段。如果没有段寄存器引用变量段,则可以使用 SEG。但除此之外,您应该使用 LEA、LDS。例子:

 .data

变量数据库?.code x 分贝?

开始: ...

对于 var SEG 是 DS,对于 x SEG 是 CS,它们的段地址。

于 2014-06-30T07:41:21.047 回答