我写了一个 asm 程序,它的开头是这样的:
org 0100h
mov ax,cs
mov ds,ax
mov es,ax
但是当我用winhex查看程序时,地址不是0100h。谁能告诉我为什么?
我写了一个 asm 程序,它的开头是这样的:
org 0100h
mov ax,cs
mov ds,ax
mov es,ax
但是当我用winhex查看程序时,地址不是0100h。谁能告诉我为什么?
我将从这个问题中引用 Paul R 和 Michael Chourdakis
“ORG 用于设置汇编器位置计数器。这可能会或可能不会在链接时转换为加载地址。”
“ORG 只是指示在哪里放置与当前段相关的下一段代码/数据。
将它用于固定地址是没有用的,因为最终地址取决于在汇编时未知的段。”