119400117 发表于 2013-3-28 19:44:05

win32汇编 sizeof取变量长度 问题

本帖最后由 119400117 于 2013-3-28 19:54 编辑

.386
.model flat,stdcall
option casemap:none

includewindows.inc
includeuser32.inc
includelib user32.lib
includekernel32.inc
includelib kernel32.lib
.data

szHellodb 'hello!',0dh,0ah
   db 'word',0
szTextdb 'hello word!',0

.code

start:


invoke MessageBox,NULL,sizeof szHello,offset szText,MB_OK   

invoke ExitProcess,NULL
end start


这代码为什么编译后运行出现    该内存不能为"read"

小甲鱼 发表于 2013-3-28 19:44:06

MessageBox的第二个参数应该是字符串,而不是sizeof获取的整形数据。

119400117 发表于 2013-3-28 20:02:50

小甲鱼 发表于 2013-3-28 19:58 static/image/common/back.gif
MessageBox的第二个参数应该是字符串,而不是sizeof获取的整形数据。

那要用什么方法把SIZEOF取到的整形数据用 messagebox显示出来呢

或者WIN32汇编有什么指令把整形转成字符串

小甲鱼 发表于 2013-3-28 20:56:00

119400117 发表于 2013-3-28 20:02 static/image/common/back.gif
那要用什么方法把SIZEOF取到的整形数据用 messagebox显示出来呢

或者WIN32汇编有什么指令把整形转成字 ...

印象中好像没有itoa()可以调用,自己写一个过程转换为ASCII码吧。

119400117 发表于 2013-3-28 21:02:10

本帖最后由 119400117 于 2013-3-28 21:04 编辑

小甲鱼 发表于 2013-3-28 20:56 http://bbs.fishc.com/static/image/common/back.gif
印象中好像没有itoa()可以调用,自己写一个过程转换为ASCII码吧。

这么麻烦啊    看到WIN32汇编的19课还以为能直接用MESSAGEBOX显示出来呢



谢谢小甲鱼的热心回答

小甲鱼 发表于 2013-3-28 21:16:41

119400117 发表于 2013-3-28 21:02 static/image/common/back.gif
这么麻烦啊    看到WIN32汇编的19课还以为能直接用MESSAGEBOX显示出来呢




WIN32汇编是比较麻烦滴,所以它使用底层操作,不适用应用编程。

鱼C--泪痕 发表于 2013-3-30 23:41:51

itoa proto C dwValue_IN:DWORD,lpszString_IN:DWORD, radix_IN:DWORD 调用C的库

dAb 发表于 2013-3-31 08:54:35

用API转啊,也不麻烦,罗云彬的32汇编开始的第1个窗口有提到
格式化API   wsprintf

Win32 发表于 2013-4-16 19:19:59

激动人心,无法言表!++

qq97258919 发表于 2013-4-16 20:12:09

强烈支持楼主ing……
页: [1]
查看完整版本: win32汇编 sizeof取变量长度 问题