最近在學習王爽的《彙編程序》,參考《簡單OS開發前奏<一>EDITPLUS+MASM32搭建彙編開發環境(16位+32位)》http://www.cnblogs.com/tishion/archive/2010/09/09/1822438.html 的博文,而我用的是Sublime Text3。html
ST3不用我介紹了吧,安裝、漢化、PJ、安裝Packing Control請自行Google下。shell
一、安裝Masm32程序到F盤,Masm32包含有豐富的庫和編譯程序。編程
二、寫批處理放到F:\masm32\bin\asm.bat,做用是編譯和連接:工具
@echo off REM 設置環境變量 @set include=F:\masm32\Include @set lib=F:\masm32\lib @set path=F:\masm32\bin;%path% echo Environment Variables Initalization Done! ml /c %1.asm link16 %1.obj
三、ST3,搜索安裝MasmAssembly插件,安裝後在ST3選用配色方案:「Preferences-配色方案-MasmAssembly-Theme-Classic」學習
四、ST3,配置Build System:測試
工具--編譯系統--編譯新系統ui
{ "cmd": ["F:\\masm32\\bin\\asm.bat", "$file_base_name"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.asm", "encoding":"cp936", "variants": [ { "name": "Run", "cmd": ["start","CMD", "/U", "/C","debug $file_base_name.exe"], "shell":true } ] }
保存文件爲Asm.sublime-build到Sublime Text 3\Packages\User目錄下,通常保存時定位的就是這個文件夾。spa
以上配置文件對應於「工具」下面的兩個菜單:「編譯 Ctrl+B「(注:實際是編譯並連接) 和 「運行 Ctrl+Shift+B」(注:Debug)插件
五、測試彙編代碼:debug
assume cs:codesg,ds:datasg datasg segment dw 00BEh,0006h,0000h datasg ends codesg segment start:mov ax,datasg mov ds,ax mov bx,0 mov si,0 mov ax,[bx+si] inc si mov cx,[bx+si] inc si mov di,si add cx,[bx+di] mov ax,4c00h int 21h codesg ends end start
Ctrl+B編譯效果:
Environment Variables Initalization Done! Microsoft (R) Macro Assembler Version 6.14.8444 Copyright (C) Microsoft Corp 1981-1997. All rights reserved. Assembling: p150.asm Microsoft (R) Segmented Executable Linker Version 5.60.339 Dec 5 1994 Copyright (C) Microsoft Corp 1984-1993. All rights reserved. LINK : warning L4021: no stack segment [Finished in 0.1s]
Ctrl+Shift+B運行Debug效果:
-u命令反彙編一下:
在32位配置彙編環境,你們能夠參考此文試試。
歡迎你們拍磚,轉載請註明出處,謝謝。