社区应用 社区服务 会员列表 统计排行 帮助 银行
  • 199阅读
  • 6回复

[求助]置入代码为啥没效果?

楼层直达
发帖
161
铜币
44
威望
0
E积分
0
技术积分
0
.版本 2
.支持库 spec


.程序集 窗口程序集_启动窗口
.程序集变量 指针


.子程序 __启动窗口_创建完毕


指针 = 申请内存 (4, )
写到内存 (“你爱我”, 指针, 6)




.子程序 子程序1, 整数型
.参数 Str1, 文本型
.参数 Str2, 整数型


置入代码 ({ 87 })  ' PUSH EDI
置入代码 ({ 86 })  ' PUSH ESI
置入代码 ({ 137, 215 })  ' MOV EDI,EDX
置入代码 ({ 137, 198 })  ' MOV ESI,EAX
置入代码 ({ 185, 255, 255, 255, 255 })  ' MOV ECX,0FFFFFFFFH
置入代码 ({ 49, 192 })  ' XOR EAX,EAX
置入代码 ({ 242, 174 })  ' REPNE SCASB
置入代码 ({ 247, 209 })  ' NOT ECX
置入代码 ({ 137, 215 })  ' MOV EDI,EDX
置入代码 ({ 49, 210 })  ' XOR EDX,EDX
置入代码 ({ 243, 166 })  ' REPE CMPSB
置入代码 ({ 138, 70, 255 })  ' MOV AL,[ESI-1]
置入代码 ({ 138, 87, 255 })  ' MOV DL,[EDI-1]
置入代码 ({ 41, 208 })  ' SUB EAX,EDX
置入代码 ({ 94 })  ' POP ESI
置入代码 ({ 95 })  ' POP EDI
返回 (0)


.子程序 _按钮1_被单击


编辑框1.内容 = 到文本 (子程序1 (“我爱B”, 指针))




.子程序 __启动窗口_将被销毁


释放内存 (指针)


不管两个字符串是否想等为啥都返回0,问题出在哪里呢?,下面是对这个函数的介绍。


[font=&amp]函数可比较两个字符串,并返回表示比较结果的一个值。从第一个字符开始作比较(比较的是其ASCII值的大小),如果开始string1中的值就比string2的值大那就返回1
StrComp 函数可返回下面的值:
-1 (如果 string1 < string2)
0 (如果 string1 = string2)
1 (如果 string1 > string2)
Null (如果 string1 或 string2 为 Null)





级别: 商业用户
发帖
51
铜币
152
威望
0
E积分
0
技术积分
5

只看该作者 沙发  发表于: 11-13
建议先学习汇编语言
si
发帖
6643
铜币
12876
威望
0
E积分
0
技术积分
0
只看该作者 板凳  发表于: 11-13
你这个代码没有 ret,无论怎么执行最后都执行到 返回 (0),结果肯定是0。
发帖
161
铜币
44
威望
0
E积分
0
技术积分
0
只看该作者 地板  发表于: 11-13
那该怎么写呢?
级别: 幼儿园
发帖
21
铜币
1
威望
0
E积分
0
技术积分
0
只看该作者 4楼 发表于: 11-13
肯定返回0啊
发帖
395
铜币
1325
威望
0
E积分
0
技术积分
10
只看该作者 5楼 发表于: 11-13
变量=0
mov [ebp-4],eax
返回(变量)

或者  

ret 8
发帖
1384
铜币
5841
威望
0
E积分
150
技术积分
1
只看该作者 6楼 发表于: 11-15
把返回值放EAX寄存器,然后retn 8
快速回复

限60 字节
批量上传需要先选择文件,再选择上传
 
认证码:
上一个 下一个