开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

楼主: cf2006a
收起左侧

[易语言成品模块] 汇编 取文本中间 左边 右边 三个和再一起写个模块方便调用

[复制链接]
发表于 2019-4-12 15:05:58 | 显示全部楼层   柬埔寨
哈哈这是很不错的
回复 支持 反对

使用道具 举报

发表于 2018-8-16 18:15:58 | 显示全部楼层   安徽省合肥市
回复 支持 反对

使用道具 举报

结帖率:97% (31/32)

签到天数: 16 天

 楼主| 发表于 2018-8-12 12:33:00 | 显示全部楼层   福建省福州市

.版本 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{“割”,“割”,“割”,“割”,“割”,“割”,“割”,“割”,“割”,“割”,“割”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”}


现在可以写了 就是 取字符出了点问题 写进去都是最后一个 如果你删掉最后一个 还是 写删完的最后一个说明它都是按顺序写入的 最后全变最后一个 了 可能是传地址的问题 搞不定了
回复 支持 反对

使用道具 举报

结帖率:97% (31/32)

签到天数: 16 天

 楼主| 发表于 2018-8-12 09:59:55 | 显示全部楼层   福建省福州市

谢谢你 我去试一下!辛苦了
回复 支持 反对

使用道具 举报

签到天数: 12 天

发表于 2018-8-11 21:30:59 | 显示全部楼层   山西省晋中市
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 })
返回 (“”)


应该就是这样吧
回复 支持 反对

使用道具 举报

结帖率:97% (31/32)

签到天数: 16 天

 楼主| 发表于 2018-8-11 19:41:25 | 显示全部楼层   福建省福州市
超级の赛亚人 发表于 2018-8-9 18:20
mov ecx, [ebp+0x08]   数组变量
mov ecx, [ecx]

弄了一会 没写成功能写个例子 就建个10个成员的数组 读写下 给个例子看下
回复 支持 反对

使用道具 举报

签到天数: 12 天

发表于 2018-8-9 18:20:40 | 显示全部楼层   山西省晋中市
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

……
回复 支持 反对

使用道具 举报

结帖率:97% (31/32)

签到天数: 16 天

 楼主| 发表于 2018-8-9 14:57:07 | 显示全部楼层   福建省福州市
超级の赛亚人 发表于 2018-8-9 14:48
直接写?那得事先申请足够的数组尺寸

就 写个例子 不要 那么多 先学习下怎么 写和读
回复 支持 反对

使用道具 举报

签到天数: 12 天

发表于 2018-8-9 14:48:44 | 显示全部楼层   山西省晋中市
cf2006a 发表于 2018-8-9 14:07
.版本 2

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

直接写?那得事先申请足够的数组尺寸
回复 支持 反对

使用道具 举报

结帖率:97% (31/32)

签到天数: 16 天

 楼主| 发表于 2018-8-9 14:07:23 | 显示全部楼层   福建省福州市

.版本 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 }
返回 (“”)
这个 写入的地址应该没错 就是不知道怎么写入值
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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