精易论坛

标题: 汇编 取文本中间 左边 右边 三个和再一起写个模块方便调用 [打印本页]

作者: cf2006a    时间: 2018-8-9 11:39
标题: 汇编 取文本中间 左边 右边 三个和再一起写个模块方便调用
取文本中间会比易库快8倍左右取文本左边会快一倍这样
取文本右边提升20%



取文本左中右边寻字符_汇编版.zip (1.89 KB, 下载次数: 207)



作者: 超级の赛亚人    时间: 2018-8-9 12:47
易库是没问题的。是你取文本中间的bug导致那个文本0没了。因为会对原数据进行修改。会在参数后文本的位置写0,直接截断导致的
作者: cf2006a    时间: 2018-8-9 13:15
超级の赛亚人 发表于 2018-8-9 12:47
易库是没问题的。是你取文本中间的bug导致那个文本0没了。因为会对原数据进行修改。会在参数后文本的位置写 ...

谢谢 受教了又学到点东西
作者: cf2006a    时间: 2018-8-9 13:16
超级の赛亚人 发表于 2018-8-9 12:47
易库是没问题的。是你取文本中间的bug导致那个文本0没了。因为会对原数据进行修改。会在参数后文本的位置写 ...

大侠 能给个汇编读写 易数组操作的 例子吗?
作者: 超级の赛亚人    时间: 2018-8-9 13:54
转的别人的
内存数组 (1).e (37.97 KB, 下载次数: 10)
作者: cf2006a    时间: 2018-8-9 14:07
超级の赛亚人 发表于 2018-8-9 13:54
转的别人的

.版本 2

.子程序 汇编_逐个分割_局部, 文本型, 公开, 1000W不崩4秒 速度会慢些毕竟内部要取空白填充
.参数 要寻找的文本, 文本型
.参数 分割成数组, 文本型, 数组
.局部变量 ret, 文本型

ret = 取空白文本 (取文本长度 (要寻找的文本) × 2)
置入代码 ({ 139, 125, 8, 139, 93, 12, 139, 51, 141, 118, 8, 139, 63, 49, 201, 49, 210, 138, 31, 128, 251, 0, 116, 34, 128, 251, 127, 118, 14, 136, 28, 8, 141, 95, 1, 137, 28, 150, 71, 65, 66, 138, 31, 136, 28, 8, 141, 95, 1, 137, 28, 150, 65, 65, 71, 66, 235, 215, 179, 0, 136, 92, 8, 255, 201, 194, 4, 0 })
' { 139, 125, 8, 139, 63, 49, 201, 138, 31, 128, 251, 0, 116, 20, 128, 251, 127, 118, 7, 136, 28, 8, 71, 65, 138, 31, 136, 28, 8, 65, 65, 71, 235, 229, 179, 0, 136, 92, 8, 255, 201, 194, 4, 0 }
返回 (“”)
这个 写入的地址应该没错 就是不知道怎么写入值
作者: 超级の赛亚人    时间: 2018-8-9 14:48
cf2006a 发表于 2018-8-9 14:07
.版本 2

.子程序 汇编_逐个分割_局部, 文本型, 公开, 1000W不崩4秒 速度会慢些毕竟内部要取空白填充

直接写?那得事先申请足够的数组尺寸
作者: cf2006a    时间: 2018-8-9 14:57
超级の赛亚人 发表于 2018-8-9 14:48
直接写?那得事先申请足够的数组尺寸

就 写个例子 不要 那么多 先学习下怎么 写和读
作者: 超级の赛亚人    时间: 2018-8-9 18:20
cf2006a 发表于 2018-8-9 14:57
就 写个例子 不要 那么多 先学习下怎么 写和读

mov ecx, [ebp+0x08]   数组变量
mov ecx, [ecx]

lea eax,[ecx+0x4]
mov  eax,[eax]   eax=数组成员数

lea eax,[ecx+0x4+0x4]
mov  eax,[eax]   eax=数组成员1

lea eax,[ecx+0x4+0x4+0x4]
mov  eax,[eax]   eax=数组成员2

……

作者: cf2006a    时间: 2018-8-11 19:41
超级の赛亚人 发表于 2018-8-9 18:20
mov ecx, [ebp+0x08]   数组变量
mov ecx, [ecx]

弄了一会 没写成功能写个例子 就建个10个成员的数组 读写下 给个例子看下
作者: 超级の赛亚人    时间: 2018-8-11 21:30
cf2006a 发表于 2018-8-11 19:41
弄了一会 没写成功能写个例子 就建个10个成员的数组 读写下 给个例子看下

.版本 2
.支持库 spec

.子程序 _按钮1_被单击
.局部变量 a, 文本型, , "5"
.局部变量 b, 文本型
.局部变量 c, 文本型

a = { “111”, “222”, “333”, “444”, “555” }
b = “aaa”
写x (a, 2, b)
c = 读x (a, 2)
调试输出 (a, c)

.子程序 写x
.参数 a, 文本型, 数组
.参数 n, 整数型, , 索引
.参数 b, 文本型

置入代码 ({ 139, 69, 8, 139, 0, 139, 93, 16, 139, 27, 139, 77, 12, 137, 92, 136, 4, 201, 194, 12, 0 })

.子程序 读x, 文本型
.参数 a, 文本型, 数组
.参数 n, 整数型

置入代码 ({ 139, 77, 8, 139, 9, 139, 93, 12, 141, 68, 153, 4, 139, 0, 201, 194, 8, 0 })
返回 (“”)


应该就是这样吧
作者: cf2006a    时间: 2018-8-12 09:59
超级の赛亚人 发表于 2018-8-11 21:30
.版本 2
.支持库 spec

谢谢你 我去试一下!辛苦了
作者: cf2006a    时间: 2018-8-12 12:33
超级の赛亚人 发表于 2018-8-11 21:30
.版本 2
.支持库 spec

.版本 2
.支持库 spec

.子程序 _按钮1_被单击
.局部变量 文本, 文本型
.局部变量 t, 整数型
.局部变量 i, 整数型
.局部变量 数组, 文本型, , "30"

文本 = 取空白文本 (256)
t = 取启动时间 ()
.计次循环首 (1, i)
    _逐个分割_参数_ASM (“*F006a逐字分割”, 文本, 数组)
.计次循环尾 ()
t = 取启动时间 () - t
调试输出 (t, 文本, 数组)

.子程序 _逐个分割_参数_ASM, , 公开,  纯汇编算法编写作者*F006a 1000W0.2秒
.参数 要寻找的文本, 文本型
.参数 缓冲文本, 文本型, , ret = 取空白文本 (256)
.参数 文本, 文本型, 数组

置入代码 ({ 139, 125, 8, 139, 69, 12, 139, 117, 16, 139, 0, 139, 54, 139, 63, 49, 201, 49, 210, 138, 31, 128, 251, 0, 116, 30, 128, 251, 127, 118, 7, 136, 28, 8, 71, 65, 138, 31, 136, 28, 8, 71, 66, 65, 198, 4, 8, 0, 49, 201, 137, 68, 150, 4, 235, 219, 198, 68, 8, 255, 0 })


0 | “割” | 数组:30{“割”,“割”,“割”,“割”,“割”,“割”,“割”,“割”,“割”,“割”,“割”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”}


现在可以写了 就是 取字符出了点问题 写进去都是最后一个 如果你删掉最后一个 还是 写删完的最后一个说明它都是按顺序写入的 最后全变最后一个 了 可能是传地址的问题 搞不定了
作者: 黑裙子    时间: 2018-8-16 18:15

作者: 421042598    时间: 2019-4-12 15:05
哈哈这是很不错的
作者: 一尘天下    时间: 2019-6-11 16:01
继续加油,支持了!
作者: q282521542    时间: 2019-7-13 02:40
看看                      8
作者: singlecx    时间: 2019-7-17 15:26

作者: duanyijun    时间: 2021-4-10 11:18
快就是好
作者: cyberhalley    时间: 2021-7-11 23:07
学习下
作者: 红色女孩    时间: 2021-7-11 23:54
帅哥,。你这个取文本中间有bug阿,取完之后  文本就变了,,文本中间后面的 就全部被删掉了。。
作者: Code123    时间: 2022-5-30 21:18
谢谢。。。
作者: 太阳GG    时间: 2023-2-28 20:56
666666666666666666666666666666666666666666666666666666666666666666
作者: 3531314783    时间: 2023-12-28 18:36

哈哈这是很不错的




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4