一个悬而未决的问题 - 但我无法找到任何地方开始!!
我想编译一个"Hello World"MS-DOS exe.
不是在XP 16位模式下运行的程序,也不是在Windows操作系统之上的MSDos模式下运行的程序.
一个HELOWRLD.EXE,我可以在我的MSDOS盒子上运行.
谢谢!
我在 MASM 中遇到了有关当前位置计数器的问题。
这是我的汇编代码,我使用 Visual Studio 2013 Express 进行汇编
.386
.model flat,stdcall
.stack 8192
ExitProcess proto,dwExitCode:dword
.data
ptr1 DWORD $
ptr2 DWORD $
ptr5 DWORD $
.code
main proc
mov eax, $
mov eax, $
invoke ExitProcess,0
main endp
end main
Run Code Online (Sandbox Code Playgroud)
在我看来,我认为ptr1、ptr2和ptr5应该有自己的位置值。
但实际上并不正确。
在调试模式下,变量显示相同的结果。
ptr1、ptr2、ptr5 具有相同的地址并且它们之间没有偏移。
使用 $ 进行声明时有什么问题?