找个大佬帮转一个易语言的代码到火山
本帖最后由 菁梦 于 2023-6-17 19:49 编辑:噜阿噜本来想自己弄的,奈何算法太独特,搞不定,有偿也行呀,代码放下面,有意联系企鹅110585559
就上=下面三个函数.版本 2
.DLL命令 RtlMoveMemory_16, , "kernel32", "RtlMoveMemory", , ,
.参数 参数_1, 长整数型, 传址
.参数 参数_2, 整数型, 传址
.参数 参数_3, 整数型
.版本 2
.子程序 XOR长整数型, 长整数型
.参数 eax, 整数型
.参数 ecx, 整数型
.局部变量 变量_1, 长整数型
.局部变量 变量_2, 整数型
变量_2 = 汇编 (eax, ecx)
RtlMoveMemory_16 (变量_1, 变量_2, 4)
' 调试输出 (“测试数据”, eax, ecx, 变量_2, 变量_1)
返回 (变量_1)
.版本 2
.支持库 TianSin
.子程序 汇编, 整数型
.参数 参数_1, 整数型
.参数 参数_2, 整数型
__asm (“mov eax, dword ptr ”)
__asm (“mov ecx, dword ptr ”)
__asm (“xor eax, ecx”)
__asm (“leave”)
__asm (“retn 0004h”)
返回 (0)
这么多没有1000+没有人写 你也不发个你的联系方式。。这么多代码,怕是得1000+ 自己搞不定就准备出钱吧。 RtlMoveMemory是一个宏,剩下的汇编功能用火山模块就可以直接对着抄 这就是个 位异或 吧只是把整数转成了长整数
.版本 2
.支持库 spec
.计次循环首 (999999999, i)
.如果真 (XOR长整数型 (i, 1) ≠ 子程序1 (i, 1))
暂停 ()
.如果真结束
.计次循环尾 ()
调试输出 (“OK”)
返回 (0)' 可以根据您的需要返回任意数值
.子程序 XOR长整数型, 长整数型
.参数 eax, 整数型
.参数 ecx, 整数型
.局部变量 变量_1, 长整数型
.局部变量 变量_2, 整数型
变量_2 = 汇编 (eax, ecx)
RtlMoveMemory_16 (变量_1, 变量_2, 4)
' 调试输出 (“测试数据”, eax, ecx, 变量_2, 变量_1)
返回 (变量_1)
.子程序 汇编, 整数型
.参数 参数_1, 整数型
.参数 参数_2, 整数型
' __asm{
' mov eax, dword ptr
' mov ecx, dword ptr
' xor eax, ecx
' leave
' retn __参数大小__
' }
返回 (0)
.子程序 子程序1, 长整数型
.参数 eax, 整数型
.参数 ecx, 整数型
返回 (位异或 (eax, ecx))
quary888 发表于 2023-6-17 20:51
这就是个 位异或 吧只是把整数转成了长整数
.版本 2
正在生成主程序入口代码
程序代码编译成功
程序代码编译成功,耗时: 62 ms
正在封装易格式目的代码
开始运行被调试程序
* “OK”
被调试易程序运行完毕 quary888 发表于 2023-6-17 20:52
正在生成主程序入口代码
程序代码编译成功
程序代码编译成功,耗时: 62 ms
- -我是要把这个变成火山64位 那个汇编我测试了是位异或 但是调用RtlMoveMemory_16这个的DLL命令 会报错 菁梦 发表于 2023-6-17 22:32
- -我是要把这个变成火山64位 那个汇编我测试了是位异或 但是调用RtlMoveMemory_16这个的DLL命令 会报错 ...
复制内存
页:
[1]