我正在查找包含“ NEAR PTR”的示例,但可以轻松地用“ PTR”替换它们。使用“ NEAR PTR”有什么好处吗?
答案 0 :(得分:1)
NEAR是16位过去的遗产。假设您的代码是32位或64位,则它们是相同的。
这与内存段有关(Wikipedia链接到x86 32-bit和64-bit)。
在LABEL statement中,PTR和NEAR PTR都只存储不带段的32/64位存储器地址。
如果在64位MASM下编译下一个代码:
_DATA SEGMENT
justPtr LABEL PTR db
nearPtr LABEL NEAR PTR db
justPtrSize dd SIZEOF justPtr
nearPtrSize dd SIZEOF nearPtr
_DATA ENDS
并在Visual Studio调试器下检查大小:
?justPtrSize
8
?nearPtrSize
8
独立PTR占用8字节(64位),与NEAR PTR相同。