編寫乙個最簡單的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,...