鱼C论坛

 找回密码
 立即注册
查看: 2155|回复: 1

Win32 ASM结构体 赋值问题

[复制链接]
发表于 2012-5-6 23:01:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
.386
.model flat,stdcall

include msvcrt.inc
includelib msvcrt.lib

TRUE EQU  1

;;;;定义结构体
Stu struct
_name  dd 10 dup(?)
_num  dd  ?
Stu ends


.const
fmt db '%d',13,10,0
mark01 db 'ABCDEF',0

.data
s1 Stu <> ; 在这里怎样把_name初始化为 '_NAMEINIT'???

.code
start:
invoke crt_printf,offset s1._name

;;;;;;有没有好的办法将_name重新赋值??,下面的方法有点麻烦。
mov esi,offset mark01
mov edi,offset s1._name

.while TRUE
CLD
MOVSB
.BREAK .IF dword ptr [ESI] ==0
.endw
;;;;;;;;;

invoke crt_printf,offset s1._name
ret
end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-5-6 23:08:57 | 显示全部楼层
;s1 Stu <<1,2,3,4,5,6,7,8,9,0>,2>   ;ok
s1 Stu <<'adfa4'>,2>   ;error A2084: constant value too large 为什么错了??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-8 08:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表