win32汇编控件中的一列数如何排序

ghostwuboy 2011-05-17 06:36:00
GetDlgItemText,hWnd,IDC_NUMBER1,addr @szBuffer1,99

通过GetDlgItemText取得IDC_NUMBER1编辑框中的数据,数据格式如下:

11 22 44 33 55 66
数据存储在addr @szBuffer1这里,格式如上,如何对addr @szBuffer1取数进行比较排序
...全文
144 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuang_shuai 2011-05-18
  • 打赏
  • 举报
回复
jiayou
ghostwuboy 2011-05-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 g_spider 的回复:]

@szBuffer1 缓存中存的是 "11 22 44 33 55 66",0 ascii串。
将空格填0就是子串:'11',0,'22',0,'44',0,'33',0,'55','66',0
直接串冒泡,或转成数值冒泡就可以了。

lea esi,@szBuffer1 ;//esi 指向串首

movzx eax,word ptr [esi]
movzx edx,word……
[/Quote]
两个问题
1.判断大小之后,值如何交换
2.拿什么作为循环结束条件

movzx eax,word ptr [esi]
eax中存的是字符串的地址,如何能对值进行交换?
ghostwuboy 2011-05-17
  • 打赏
  • 举报
回复
如何判断已到达控件中的最后一个数

即如何判断要循环的次数
大熊猫侯佩 2011-05-17
  • 打赏
  • 举报
回复
比较只是算法的问题,排序完只要再写显示逻辑即可。
G_Spider 2011-05-17
  • 打赏
  • 举报
回复
@szBuffer1 缓存中存的是 "11 22 44 33 55 66",0 ascii串。
将空格填0就是子串:'11',0,'22',0,'44',0,'33',0,'55','66',0
直接串冒泡,或转成数值冒泡就可以了。

lea esi,@szBuffer1 ;//esi 指向串首

movzx eax,word ptr [esi]
movzx edx,word ptr [esi+3]
....

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧