組合語言環境架建

為了學組合語言,一定要先架建好環境,我目前使用windows系統,使用MASM的軟體編譯
主要學習小木偶 組合語言的教學 非常感謝 小木偶的細心撰寫和資料的貢獻!!

出處:
小木偶的網頁
小木偶的組合語言教學

所需軟體:
BINS_DDK.EXE
LINK5.36
以上 小木偶網頁的資源 非常感謝!!!
7zip
如果要放在DOS系統中需要DOSXNT.EXE
DOSXNT.EXE

懶得改名就用這個批次檔改
CHGname.bat

整個環境編好的MASM611d(除了path要自己設定)
MASM611d

如果想要跟我一樣用VirtualBox等虛擬機器裝DOS在內那就用masm.img掛載在1.44floppy中
MASM.img


架建作法:
1.請在DOS系統上,目前在windowsXP系統上發現編譯出來的com檔無法出現訊息!!!(如果有人會用在WindowsXP請留言教我謝謝 ^^)。
2.下載 BINS_DDK.EXE 、LINK5.36 、7zip(或winrar)
3.在C:\建立一個masm611d資料夾
4.將 BINS_DDK.EXE 利用 7zip 解壓縮得出 BINS_DDK 資料夾,
再去 BINS_DDK 資料夾內的 Bins_ddk.cab 解壓縮得出 Bins_ddk 資料夾 將這裡面的
BIN_WIN98_ML.EXE
BIN_WIN98_ML.ERR
BIN_WIN98_EXE2BIN.EXE
複製到
C:\masm611d
很亂吧~我整理一下
BINS_DDK.EXE -解壓-> BINS_DDK/
-> Bins_ddk.cab -解壓-> Bins_ddk/
將裡面的
BIN_WIN98_ML.EXE -> 放置到C:\masm611d
BIN_WIN98_ML.ERR -> 放置到C:\masm611d
BIN_WIN98_EXE2BIN.EXE -> 放置到C:\masm611d

5.LINK5.36下載後檔名為lnk563.exe 一樣
lnk563.exe -解壓-> Lnk563/
將裡面的 LINK.EXE -> 放置到C:\masm611d

6.到C:\masm611d裡將
BIN_WIN98_ML.EXE -改名-> ML.EXE
BIN_WIN98_ML.ERR -改名-> ML.ERR
BIN_WIN98_EXE2BIN.EXE -改名-> EXE2BIN.EXE
如果懶得改名就用CHGname.bat幫你改
7.PATH設定
在windowsXP設定,在 "我的電腦" 右鍵 "內容"->"進階"->"環境變數" 在 "系統變數"欄內 選擇 "path" 按 "編輯" 在已有的字串內加上 ";C:\masm611d" 加入這樣字串後 按下"確定"

在DOS設定,利用 EDIT 編輯 AUTOEXEC.BAT
在原有的
PATH C:\DOS
改為
PATH C:\DOS;C:\MASM611D
這樣能不必在masm611d資料夾內就可編譯asm檔。
8.測試 建立一個test.asm檔 內容如下(以下是小木偶組合語言教學的資料):
;*************************************** ;01
code segment ;02.code 段開始位址
assume cs:code,ds:code ;03.假設程式段及資料段
org 100h ;04.可改成 *.COM 檔
;--------------------------------------- ;05.
start: jmp begin ;06.程式進入點
mes db 'Hi, I learn assembly.$' ;07.要印出的訊息
begin: mov dx,offset mes ;08.指向 mes 的位址
mov ah,9 ;09.呼叫DOS服務程式,AH=9/INT 21H 表示印出字串
int 21h ;10.呼叫 DOS 服務程式
mov ax,4c00h ;11.指定要呼叫的服務號碼
int 21h ;12.呼叫 DOS 服務程式
;--------------------------------------- ;13.
code ends ;14.code 段結束
;*************************************** ;15.
end start ;16.使組譯器知道程式進入點

到 cmd 去 輸入
C:\>ml /AT test.asm

如果出現以下畫面表示環境架建成功!!!
Microsoft (R) Macro Assembler Version 6.11d
Copyright (C) Microsoft Corp 1981-1995. All rights reserved.

Assembling: test.asm

Microsoft (R) Segmented Executable Linker Version 5.60.339 Dec 5 1994
Copyright (C) Microsoft Corp 1984-1993. All rights reserved.

LINK : warning L4017: /r : unrecognized option name; option ignored
Object Modules [.obj]: /r test.obj/t
Run File [test.com]: "test.com"
List File [nul.map]: NUL
Libraries [.lib]:
Definitions File [nul.def]:

0 Response to "組合語言環境架建"

張貼留言

Powered by Blogger