背景當(dāng)自己想使用C語言開發(fā)一個編譯器的時候,需要將文本內(nèi)容轉(zhuǎn)換為匯編語言,此時需要我們對匯編語言具有一定了解及簡單編寫程序,否則無法繼續(xù)進行編譯器的編寫。 開發(fā)工具此處使用MASM32開發(fā)工具,當(dāng)然也可以選用SASM, 此處由于并不深入學(xué)習(xí)且無兼容性考慮,因此此處選用MASM32工具。 下載此處點擊Australia 1/2開始下載 圖1.png 安裝
程序測試
.486.model flat, stdcall option casemap :noneincludelib \masm32\lib\kernel32.lib includelib \masm32\lib\user32.lib includelib \masm32\lib\gdi32.lib includelib \masm32\lib\msvcrt.lib includelib \masm32\lib\masm32.lib include \masm32\include\kernel32.inc include \masm32\include\user32.inc include \masm32\include\gdi32.inc include \masm32\include\windows.inc include \masm32\include\msvcrt.inc include \masm32\include\masm32.inc include \masm32\macros\macros.asm.data.code start: print chr$("Hello Wordld!") print chr$(" ",13,10) mov eax, sval(input("Enter any press to continue..."))end start
編碼框架.486.model flat, stdcall option casemap:none includelib \masm32\lib\kernel32.lib includelib \masm32\lib\user32.lib includelib \masm32\lib\gdi32.libinclude \masm32\include\kernel32.incinclude \masm32\include\user32.incinclude \masm32\include\gdi32.incinclude \masm32\include\windows.inc.data// 變量.code start:// 代碼end start 接下來分別解釋下每行代表什么:
作者:_凌浩雨 |
|