最近在学习王爽的《汇编程序》,参考《简单OS开发前奏<一>EDITPLUS+MASM32搭建汇编开发环境(16位+32位)》http://www.cnblogs.com/tishion/archive/2010/09/09/1822438.html 的博文,而我用的是Sublime Text3。
ST3不用我介绍了吧,安装、汉化、PJ、安装Packing Control请自行Google下。
1、安装Masm32程序到F盘,Masm32包含有丰富的库和编译程序。
2、写批处理放到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
3、ST3,搜索安装MasmAssembly插件,安装后在ST3选用配色方案:“Preferences-配色方案-MasmAssembly-Theme-Classic”
4、ST3,配置Build System:
工具--编译系统--编译新系统
{ "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目录下,一般保存时定位的就是这个文件夹。
以上配置文件对应于“工具”下面的两个菜单:“编译 Ctrl+B“(注:实际是编译并链接) 和 “运行 Ctrl+Shift+B”(注:Debug)
5、测试汇编代码:
assume cs:codesg,ds:datasg datasg segment
dw 00BEh,0006h,0000h
datasg ends
codesg segment
start:mov ax,datasg
mov ds,ax
mov bx,
mov si,
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位配置汇编环境,大家可以参考此文试试。
欢迎大家拍砖,转载请注明出处,谢谢。