MASM32汇编环境搭建教程 |
您所在的位置:网站首页 › windows汇编语言SDK › MASM32汇编环境搭建教程 |
一、MASM32 SDK安装
下载安装
下载链接:http://www.masm32.com/download.htm 双击install.exe文件开始安装: 选择安装的磁盘(masm32 sdk需要安装在根目录下所以只能选磁盘不能自定义目录) 然后一路确定,直到安装完成·。 配置环境变量打开:控制面板–系统和安全–系统–高级系统设置–高级–环境变量 创建以下环境变量(如果已存在则在其末尾追加,Masm32Dir根据自己安装路径修改) Masm32Dir=D:\masm32 include=%Masm32Dir%\include; lib=%Masm32Dir%\lib; path=%Masm32Dir%\bin;%Masm32Dir%; 二、代码示例ps. 可以在vscode中安装插件x86 and x86_64 Assembly来进行代码高亮,此处就不演示了 测试代码1编写如下代码hello.asm,该代码能够从控制台中读入用户的输入,然后回显出来(最多读入6字节) .386 ;指令模式 .model flat,stdcall ;平坦模式,调用规则 option casemap:none include masm32.inc include kernel32.inc includelib masm32.lib includelib kernel32.lib ;数据段 .data len equ 6 .data? szText dw ? .code main PROC invoke StdIn, offset szText,len invoke StdOut, offset szText invoke ExitProcess,0 main ENDP END main在hello.asm文件所在文件夹下,用命令行依次执行如下几条指令即可编译运行: ml /c /coff hello.asm link /subsystem:console hello.obj .\hello.exe如果不想每次都输入这么多指令,可以写个批处理文件。新建一个文件run.bat,文件内容如下: set project=hello ml /c /coff %project%.asm link /subsystem:console %project%.obj .\%project%.exe如果你想要修改asm文件的文件名,直接修改这里project变量值即可。 例如我写了一个test.asm的汇编代码,将上面第一行改成set project=test即可。 运行结果如下:
如果想要使用Irvine32库可以按照如下操作执行。 我把Irvine库放在了度盘:https://pan.baidu.com/s/1p2PyQ7MGq620GPorKI2r_Q?pwd=tr19,自取 提取码:tr19下载解压后,将其中的Irvine32.lib拷贝到masm32/lib目录下;将Irvine32.inc拷贝到masm32/include目录下
编写测试代码如下,该段代码能够输入一个16进制数,然后输出其二进制形式 因为在Irvine32.inc中已经包含过kernel32.inc和user32.inc了,所以代码中就无需再包含一遍了 而且也不能再包含一遍,否则会报错。 注意,这里不需要再定义.model flat,stdcall 和.stack 4096了,不然可能会警告 可能是因为Irvine32.inc中定义过了? .386 ; .model flat,stdcall ; .stack 4096 include Irvine32.inc includelib kernel32.lib includelib user32.lib includelib Irvine32.lib .code main PROC call ReadHex ;输入16进制数 mov ebx, eax call WriteBin ;输出二进制数 mov eax, 10 call WriteChar INVOKE ExitProcess, 0 main ENDP END main然后编写run.bat,如下: set project=hello ml /c /coff %project%.asm link /subsystem:console %project%.obj .\%project%.exe然后运行,结果如下所示: Win32汇编环境搭建教程(MASM32 SDK) MASM32 SDK的安装和环境变量的配置都是照抄这篇文章的 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |