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]
复制到的物理地址?A
AX
我想这意味着如果 A 位于数据段中,则 SEG A 与 DS 相同。
正确,如果 DS 指向数据段。
MOV AX ,
LEA A
MOV DX, SEG A
MOV AX, [AX + DX]
将A的物理地址复制到AX?
最后一条指令无效,它在任何 x86 CPU 中都不存在。因此,这段代码什么都不做。如果有的话,它只是位于一个 .asm 文件中,等待更正和组装。
它将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
SEG 提供操作数段。如果没有段寄存器引用变量段,则可以使用 SEG。但除此之外,您应该使用 LEA、LDS。例子:
.data
变量数据库?.code x 分贝?
开始: ...
对于 var SEG 是 DS,对于 x SEG 是 CS,它们的段地址。