您好 我正在尝试在Windows Vista 64位操作系统上运行MASM上的第一个ASM 8086程序 我把这个程序放在我的MASM编辑器上:
.model small
.stack
.data
message db "Hello world, I'm learning Assembly !!!", "$"
.code
main proc
mov ax,seg message
mov ds,ax
mov ah,09
lea dx,message
int 21h
mov ax,4c00h
int 21h
main endp
end main
并且MASM编辑器给了我这个输出,我不知道程序有什么问题:
Assembling: D:\masm32\First.asm
D:\masm32\First.asm(9) : error A2004: symbol type conflict
D:\masm32\First.asm(19) : warning A4023: with /coff switch, leading underscore required for start address : main
_
Assembly Error
此代码的问题在哪里?这是我的第一个ASM计划,请记住。 谢谢:)
答案 0 :(得分:1)
使用C的平台往往喜欢在函数名之前使用下划线,这取决于调用约定和可执行格式(因此“with / coff switch”警告)。尝试在函数名称中添加一个?
BTW,Vista 64位甚至支持16位代码吗?我被告知这是被丢弃的事情之一......见http://en.wikipedia.org/wiki/Windows_on_Windows。答案 1 :(得分:0)