編譯乙個匯程式設計序怎麼居然折騰我如此

2022-09-15 06:57:12 字數 1213 閱讀 5196

編寫乙個最簡單的win32匯程式設計序,就乙個messagebox彈出,程式開始如下(first.asm):

.386

.model flat,stdcall

option casemap:none

include windows.inc

include user32.inc

includelib user32.lib

include kernel32.inc

includelib kernel32.lib

.data

szcaption db 

'a messagebox',

0sztext db 

'hello!',

0.code

start:

invoke messagebox,null,offset sztext,offset szcaption,mb_ok

invoke exitprocess,null

end start

程式其實挺簡單,看看也都對,書上也提示對於彙編來說必須先ml生成obj檔案再link成exe檔案。

在命令視窗滿懷信心地鍵入ml first.asm,居然出錯~提示說window.inc找不到,肯定是環境變數沒有設定好。 但是翻遍目錄沒找到配置環境變數的程式(脫離了ide真有點無所適從)。於是,又寫個批處理檔案,設定一些目錄與環境,批處理如下:

@echo off

setinclude

=d:\masm32\bin\include

setlib

=d:\masm32\lib

setpath

=d:\masm32\bin;

%path

%echo on

執行後,可以在命令視窗下任何目錄中呼叫bin中的命令,而不會出現bad command命令,不過,上面的老問題還是沒有解決。最後,只好把程式include後面的檔案加上全部路徑,問題解決!包含**如下:

include d:\masm32\include\windows.inc

include d:\masm32\include\user32.inc

includelib d:\masm32\lib\user32.lib

include d:\masm32\include\kernel32.inc

includelib d:\masm32\lib\kernel32.lib

我的第乙個匯程式設計序 Hello,World

作為乙個程式設計師,我想起碼要精通3們語言 c,c 彙編!今天我開始了我的奇妙的彙編世界。我用的是gnu assembler gas 現用vim建立乙個hello.s檔案 root localhost vim hello.s 回車後,編寫彙編 如下 1 data 2 msg string hello...

我的第乙個匯程式設計序的問題

題目是 輸入乙個字串,統計輸入的字串中字母 數字以及其他字元各有多少個。invalid keyboard code specified link warning l4021 no stack segment link warning l2029 unresolved externals readhe...

第乙個匯程式設計序hello world

程式原始碼如下 assume cs code,ds data 定義 段和資料段框架 data segment 資料段 msg db hello world 定義字串 data ends code segment 段 start mov ax,data mov ds,ax 資料段初始化 mov bx,...