社区
汇编语言
帖子详情
一个很菜的问题:一个字的位反向排序的好方法
gauss
2000-04-21 11:25:00
要求只用8086的指令
所谓反向排序就是将字的高位和低位互换
31 30 29 。。。。。16 15。。。。。。5 4 3 2 1 0
变成
0 1 2 3 4。。。。。。15 16。。。。。。29 30 31
用循环等笨办法肯定可以做到,但是有没有比较简单漂亮的方法呢?
我还没有想出来,所以求教于各位高手。
...全文
199
6
打赏
收藏
一个很菜的问题:一个字的位反向排序的好方法
要求只用8086的指令 所谓反向排序就是将字的高位和低位互换 31 30 29 。。。。。16 15。。。。。。5 4 3 2 1 0 变成 0 1 2 3 4。。。。。。15 16。。。。。。29 30 31 用循环等笨办法肯定可以做到,但是有没有比较简单漂亮的方法呢? 我还没有想出来,所以求教于各位高手。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gauss
2000-05-07
打赏
举报
回复
感谢Arsoka提供的简洁的代码,
但我想我的代码执行起来会快一点。
Do you agree?
Arsoka
2000-05-01
打赏
举报
回复
xor ax,ax
mov cl,010h
loopn; ror dx,1
rcl ax,1
loop loopn
mov dx,ax
我调试过,可行!8-)
Arsoka
2000-04-30
打赏
举报
回复
数在dx中,结果在dx中, ax 辅助用,
xor ax,ax
loop1: mov cl,010h
ror dx,1
rcl ax,1 ;将CF送入ax
loop loop1
mov dx,ax
写的仓促,大概是这样吧.:)
茂奇软件
2000-04-25
打赏
举报
回复
到SIMD中找找。
说不上会有几个机器指令符合
你的需要。有空我也会帮你找找。
(我知道有。)
Jansen Zhu.
gauss
2000-04-25
打赏
举报
回复
感谢GreenStuff和jansenzhu。
但我要求只用8086的指令实现。
我想了一个算法:
现在贴出来,大家帮忙看看。有好意见的分照给。
为简单起见,只讨论8位。
将一个8位的寄存器反向排序。假设要排序的数在DX,输出结果也放在DX.
AX是临时的变量,BX的作用是MASK,CL是移位位数。
假设DX为 1101 1001。
MOV AX,DX
MOV BX,0F0H ;(1111 0000)
MOV CL,4
AND AX,BX
SHR AX,CL
NOT BX
AND DX,BX
SHL DX,CL
OR DX,AX
;现在DX变成 1001 1101 (前后4位互换)
MOV AX,DX
MOV BX,0CCH ;(1100 1100)
MOV CL,2
AND AX,BX
SHR AX,CL
NOT BX
AND DX,BX
SHL DX,CL
OR DX,AX
;现在DX变成 01 10 01 11 (高低4位各自进行高低2位互换)
MOV AX,DX
MOV BX, 0AAH;(1010 1010)
MOV CL,1
AND AX,BX
SHR AX,CL
NOT BX
AND DX,BX
SHL DX,CL
OR DX,AX
;现在DX变成 10 01 10 11 (相邻互换)
反向排序完成。
算法的思路跟二路归并排序差不多,
不同的是从大到小来排。
理论上,一个2^N位的寄存器可以用N步排完,而不是2^N次。
8位3次,16位4次,32位5次。
GreenStuff
2000-04-21
打赏
举报
回复
看看!
(全)传智播客PHP就业班视频完整课程
解答学生
问题
--
一个
ip绑定多个域名 8-19 2.php运行过程时序图 php书写规范 8-19 3.php基本语法介绍 php数据类型介绍 8-19 4.整型细节说明 8-19 5.布尔细节 浮点数细节
字
符串细节 算术运算符① 8-19 6.算术运算符② ...
高性能Web服务器Nginx实战(
反向
代理+负载均衡+Session共享)
课程目标 你将对Web高并发有个更高层次的了解,通过Nginx快速搭建Web集群,并解决Session共享 课程简介 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,是
一个
高性能的HTTP和
反向
代理服务器,同时也是
一个
代理...
史上最全韩顺平传智播客PHP就业班视频,10月份全集
史上最全韩顺平毕业班视频------这里只有10月份,8,9,11月份在另外
一个
文件下。 传智播客PHP就业班视频课程列表 8-11 1.html介绍 html运行原理① 8-11 2.html运行原理② html文件基本结构 html元素和属性 8-11 3....
汇编语言
21,459
社区成员
41,601
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章