0
我已經開始學習彙編,並試圖編譯下面的代碼在Visual Studio 2010中不能編譯這個彙編代碼
DSEG SEGMENT A DW 8 B DW 10 DSEG ENDS SSEG SEGMENT STACK DW 100H DUP(?) SSEG ENDS CSEG SEGMENT ASSUME CS:CSEG, DS:DSEG, SS:SSEG MAIN PROC FAR PUSH DS MOV AX, 0 PUSH AX MOV AX, DSEG MOV DS, AX ; The start of the program MOV AX, A MOV BX, B ADD AX, BX MOV A, AX RET MAIN ENDP CSEG ENDS END MAIN
我得到了以下錯誤:
1>main.asm(17): error A2004: symbol type conflict
1>main.asm(32): warning A4023: with /coff switch, leading underscore required for start address : MAIN
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\masm.targets(49,5): error MSB3721: The command "ml.exe /c /nologo /Zi /Fo"Debug\main.obj" /W3 /errorReport:prompt /coff /Tamain.asm" exited with code 1.
我搜索網站的一個解決方案,我發現唯一的事情是錯誤A2004發生,因爲/ coff指令。
如何從參數列表中刪除/ coff? (如果這是什麼使這個錯誤apeare)。
感謝,
伊Sorozon
你在這裏感到非常困惑。你的程序集是真正的模式,16位程序集,在MS-DOS的日子裏使用。 Visual Studio 2010是一個Windows編譯器,不再支持構建DOS可執行文件。你過得好嗎?你是否有機會拿起一本1980年末寫的裝配書(裝配方式更相關)? –
這是我需要學習的程序集的靈感。所以我想我會得到一個DOS編譯器 - 你有什麼建議嗎? –
請參閱@ Seki的回答。如果您必須執行16位實模式彙編,並且我不得不問問你的教授在想什麼,事實上,你需要或者a)在你的系統上安裝DOS - 祝你好運,我希望你不想將它用於其他任何東西 - 或者b)使用模擬器或虛擬機。 –