| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6919 人关注过本帖
标题:NASM:纯正的汇编器
只看楼主 加入收藏
AXRZ
Rank: 2
等 级:论坛游民
威 望:5
帖 子:48
专家分:84
注 册:2016-3-23
收藏
 问题点数:0 回复次数:1 
NASM:纯正的汇编器
在论坛翻贴总能看到有讨论汇编器的,我接触NASM也有段时间了,个人认为其是个很纯真的汇编器,配合ALINK链接器可以编出原汁原味的WIN32汇编程序,所以推荐给一些新人使用

NASM官网:http://www.nasm.us/
NASM和ALINK压缩包下载:
NASMSETUP.zip (2.67 MB)


------------安装方法------------
1. 解压缩包至一个目录下
2. 到“我的电脑”-》“系统属性”-》“高级系统选项”-》“环境变量”的窗口下
3. 将“系统环境变量”下的“PATH”的最后一项后加上一个分号“;”,然后后面加上你解压缩包的目录

------------使用方法------------
汇编语言案例程序:弹出信息框并显示HELLO WORLD
extern MessageBoxA                                ;声明API,“EXTERN”声明有此函数
import MessageBoxA user32.dll                     ;“IMPORT”则从DLL中导入相应的API,它和“EXTERN”一样都是伪指令
extern ExitProcess
import ExitProcess kernel32.dll

segment .data USE32                                ;数据段定义,"USE32"表明使用32位

title db "hello",0
message db "hello world",0

segment .bss USE32                                    ;未初始数据段定义,这里举个例子,下面的程序不需要这一段
var1 resb 32

segment .code USE32                                    ;代码段定义

..start:                                                ;“..start”为入口标识符,入口标识符不能为其他,否则ALINK无法检测到程序入口

push dword 0                                            ;入栈MessageBoxA的参数(从最后一个参数开始入栈)
push dword title
push dword message
push dword 0
call [MessageBoxA]                                      ;调用MessageBoxA来显示信息框

push dword 0
call [ExitProcess]                                      ;调用ExitProcess来退出进程,返回0


将以上代码保存为hello.asm文件后,我们在此ASM文件的目录下“SHIFT+右键鼠标”,然后选择“在此处打开命令行”,之后我们在命令行里输入:
“nasm -f obj hello.asm”                                                                          ----“-f”指明生成文件的格式
来生成一个目标文件。若无编译错误,则生成目标文件;此时生成的文件为一个名为hello.obj的OBJ文件,此文件无法运行
(输入“nasm -h”来获取帮助列表)

之后我们再在命令行里输入:
alink -c -oPE -subsys gui hello.obj                                                                ----“-c”指明对OBJ文件内的大小写敏感,“-o”指明生成文件的格式,“-subsys”指明生成文件的窗口模式
若无链接错误,则再次生成一个目标文件;此时生成的文件问一个名为hello.exe的EXE文件,此文件可以执行。运行后弹出名为hello的对话框,上面写着hello world
(输入“alink -h”来获取帮助列表)

[此贴子已经被作者于2016-5-8 02:59编辑过]

搜索更多相关主题的帖子: 压缩包 
2016-05-08 02:44
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
下载看看有什么特色。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2016-05-08 10:36
快速回复:NASM:纯正的汇编器
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017652 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved