回 帖 发 新 帖 刷新版面

主题:汇编masm32的一些小问题,有兴趣的进来看看

最近刚刚开始学汇编,有些问题想请教一下大家:

    用C习惯了,里面的memcpy、memchr等一些函数特别好使,用masm32写程序就只能用Windows自带的API函数了,如lstrcpy、lstrlen等等。这些都是对字符串进行操作,而且种类也没有C的丰富(C里有我钟爱的strchr等等,可是到了masm32都用不了了)。如果想对一个非字符串数组进行拷贝,有什么好的方法吗?

回复列表 (共2个回复)

沙发

在一个文件中直接用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不能操控。

板凳

看一下\masm32\help\masm32lib的帮助,在masm32.inc\masm32.lib中提供了很多方便的函数,另外你可以到这里下载个汇编实现的C函数库
http://www.aogosoft.com/downpage.asp?mode=download&table=soft&id=168

我来回复

您尚未登录,请登录后再回复。点此登录或注册