NEAR - это наследие 16-битного прошлого. Предполагая, что ваш код 32-битный или 64-битный, они одинаковы.
Это касается сегментов памяти (ссылка в Википедии на x86 32-бит и 64-бит ).
В операторе LABEL и 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.