win7 64位 *** 作系统radasm不能用啊,怎么设置

win7 64位 *** 作系统radasm不能用啊,怎么设置,第1张

win7 64位 *** 作系统radasm不能用啊,设置方法

将下载好的masm32压缩包解压,得到的整个文件夹拷贝至C盘根目录

双击安装hla.exe,同样地,必须也安装到C盘根目录下。

完成之后,右击计算机-属性-高级系统设置-环境变量,查看系统变量,其中的三项如果如图所示的一样,证明安装hla成功,配置也是正确的。

双击安装RadASM.v2.2.1.9,由于步骤一已经复制了masm32至C盘根目录,所以安装时masm32选项不要勾选,对于hla而言,只需要勾选“文件关联”一项,如图所示。安装目录同样选择C盘根目录,确保安装完成之后RadASM.exe在C:\RadASM。

双击桌面的Radasm图标或者C:\RadASM\目录下的RadASM.exe进入程序。工具栏点击:文件-新建工程,编译器选择hla,类型选Console APP,填好工程名,使用hello world的模板。

新建的工程完成了,试着编译并运行,如图,运行成功得到结果。

点击工具栏:选项-语言,选择简体中文。然后是环境变量,发现了没,Radasm安装时自动把环境变量和路径设置为基于C盘根目录的,这也是之前的步骤为什么必须把masm32以及hla安装于C盘根目录的原因。如果masm32以及hla没有安装到C盘根目录,Radasm的自动配置环境变量将不起作用,用户必须手动更改。

至此,整个安装和配置过程已经结束了。如果能按照以上步骤做,64位WIN7下对于配置基于Radasm编辑器的hla编程环境和XP是一样的。

我就是用的64位win7/win8你这个问题应该是环境变量或者是radasm没设置好的问题.如果是是学习的话.我建议用editplus来写.然后把环境变量的批处理放在windows目录下.每次编译的时候执行下就好了用nmake+Makefile配合起来不比radasm慢,(写小程序的话)你如果只是学习的话就用我说的吧..

前些天,看到这个标题,直接过了,因为这个好像根本不是问题,结果过了几天,看这个问题还没有结果,于是好奇,进来看看。

RadASM只是一个开发环境,具体使用什么语言,你要有那个语言的编译和链接器,放在任何目录都可以,然后在对应那个语言的xxxx.ini中指定编译器和连接器的位置,如果是MASM宏汇编,那么需要在MASM.INI中指定,例如:

[Enviroment]

1=path,c:\masm32\bin

[CharTab]

2=025122252222223220-2F

3=111111111124222130-3F

[Open]

0="汇编源文件 (*.asm*.inc*.mac*.txt),*.asm*.inc*.mac*.txt"

1="资源文件 (*.rc),*.rc"

2="文本文件 (*.txt),*.txt"

3="所有文件 (*.*),*.*"

src="汇编文件 (*.asm),*.asm,asm"

hdr="头文件 (*.inc),*.inc,inc"

mod="模块 (*.asm*.mac),*.asm*.mac"

1=path 这个就是用来定义宏汇编编译器的地址,填上正确的地址即可。

至于汇编源程序,你完全可以如在DOS环境下使用的那样,例如:

.data

s1   db  '这里放数据‘,0

.code

entry proc

mov  eax, [eax].PEB.ImageBaseAddress

call  GetCurrAddr

mov hInstance[ebx], eax

......

entry endp

.data

s2  db '这里也放数据,当然也可以放到前面去。

.code

start:

  mov   dest, offset Mz

  mov   clenth, Len

invoke GetCurrentDirectory,nBufLen, addr szFName

  invoke lstrcat,addr szFName, addr myFName

invoke CreateFile,addr szFName,       pointer to name of the file

          GENERIC_WRITE or GENERIC_READ,access (read-write) mode

          null,                         share mode

          null,                         pointer to security attributes

          CREATE_ALWAYS,                how to create

          FILE_ATTRIBUTE_NORMAL,        file attributes

          NULL

mov hFile, eax

  invoke WriteFile,hFile,dest,clenth,addr br,NULL

.if eax

    invoke lstrcpy,addr szFName,addr myFName1

    invoke lstrcat,addr szFName,addr szOpenOk

    invoke MessageBox,null,addr szFName,

            addr szCaption,MB_OK

  .else

    invoke MessageBox,NULL,addr szOpenEr,

            addr szCaption,MB_ICONERROR or MB_OK

  .endif

invoke CloseHandle,hFile

  xor eax, eax

  invoke ExitProcess,eax

end start

编译链接后,代码从 start开始执行,start 的级别比 entry 高,如果代码中有entry,同时有start,那么编译后,结果是start,而不是entry,准确的说法是结尾 end 后面根的启动地址名称,随便叫什么都可以,习惯上用 start。

这是我以前写书时写的一些演示代码,都是在RadASM中开发的,代码绝对都可以编译运行的,我在附件里给你发一个汇编源代码,你可以试着用RadASM来编译一下。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11815747.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存