汇编语言小例子1--用WIN32 API来获取当前目录
调用WIN32 API获取了当前目录,在MASM环境下编译。。。。。。。;----------------
;编译模式="CON"
;----------------
.386
.model flat, stdcall
option casemap :none
include windows.inc
include user32.inc
include kernel32.inc
include masm32.inc
includelib user32.lib
includelib kernel32.lib
includelib masm32.lib
;-------------------------------------------------------
.DATA
szPath db 256 dup(?)
.CODE
START:
invoke GetCurrentDirectory,256,addr szPath;获取当前目录
invoke StrLen,addr szPath
mov ebx,eax ;得到字符串长度,用于修正缓冲区内容
mov szPath,13
inc ebx
mov szPath,10
inc ebx
mov szPath,0
push ebx
invoke StdOut,addr szPath
pop ebx
.while(ebx!=0) ;清空缓冲区,此处WHILE为MASM新增的高级特性
mov szPath,0
dec ebx
.endw
mov szPath,0
invoke StdIn,addr szPath,sizeof szPath
invoke StrLen,addr szPath
mov ebx,eax
sub ebx,2
mov szPath,0
invoke SetCurrentDirectory,addr szPath
invoke GetCurrentDirectory,256,addr szPath
invoke StrLen,addr szPath
mov ebx,eax
mov szPath,13
inc ebx
mov szPath,10
inc ebx
mov szPath,0
invoke StdOut,addr szPath
invoke ExitProcess,0
end START
[ 本帖最后由 caterpilla 于 2006-6-22 13:35 编辑 ] LINK : fatal error LNK1104: cannot open file "masm32.lib"
构建时发生错误.
总共编译时间 687 毫秒
楼主能传个上来吗? 还有这个
szPath db 256 dup(?)
是定以数组吗?我是个新手,能具体讲讲吗?
如果楼主懂易语言的话,就结合易语言来讲,谢谢! 原帖由 hacker0058 于 2006-6-23 19:49 发表
还有这个
szPath db 256 dup(?)
是定以数组吗?我是个新手,能具体讲讲吗?
如果楼主懂易语言的话,就结合易语言来讲,谢谢!
这是定义256字节的缓冲区,相当于是数组吧。易语言不懂,但能定义数组的话,可以定义一个BYTE类型的数组。 哦,明白了
页:
[1]