主题:汇编masm32的一些小问题,有兴趣的进来看看
scanf
[专家分:380] 发布于 2006-10-17 16:47:00
最近刚刚开始学汇编,有些问题想请教一下大家:
用C习惯了,里面的memcpy、memchr等一些函数特别好使,用masm32写程序就只能用Windows自带的API函数了,如lstrcpy、lstrlen等等。这些都是对字符串进行操作,而且种类也没有C的丰富(C里有我钟爱的strchr等等,可是到了masm32都用不了了)。如果想对一个非字符串数组进行拷贝,有什么好的方法吗?
回复列表 (共2个回复)
沙发
chenzep [专家分:3640] 发布于 2006-10-19 23:04:00
在一个文件中直接用DOS汇编自己实现,使用的时候直接把你写的文件INCLUDE进来。
比如自己在file.asm文件实现这样的一个一定
;;;;;;;;;;;;;;eax是返回数值
strlen macro str_addr
push esi
mov esi,str_addr
xor eax,eax
.while byte ptr [esi]
inc esi
inc eax
.endw
pop esi
endm
然后你在你的代码头部添加include file.asm,就可以使用你自己实现的strlen了.
要注意的是:WINDOWS下有些东西是保护的,DOS不能操控。
板凳
StarsunYzL [专家分:100] 发布于 2006-10-21 18:43:00
看一下\masm32\help\masm32lib的帮助,在masm32.inc\masm32.lib中提供了很多方便的函数,另外你可以到这里下载个汇编实现的C函数库
http://www.aogosoft.com/downpage.asp?mode=download&table=soft&id=168
我来回复