打印

RL和RLC

[复制链接]
565|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gongche|  楼主 | 2016-8-6 09:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比方说一个两字节的数要乘以32,可以确定乘完之后,仍为2字节,都是无符号数,我看到一个程序,使用了RL和RLC来处理,看不懂,想请教,处理的原理是怎样的呢?
沙发
gongche|  楼主 | 2016-8-6 09:47 | 只看该作者
对高字节和低字节怎么处理?在实践中RL和RLC怎么把握?不超出范围?

使用特权

评论回复
板凳
huwr| | 2016-8-6 09:49 | 只看该作者
和十进制计算一样的,只是十进制是逢10进位,二进制是逢二进位。

使用特权

评论回复
地板
huanghuac| | 2016-8-6 09:50 | 只看该作者

比如12*34=12*(3*10)+12*4;
而二进制则为1100B*100010,自然就等于1100*(1*100000)+1100*(1*10)

使用特权

评论回复
5
huwr| | 2016-8-6 09:58 | 只看该作者

而移位就是移动小数点位置,和十进制是一样的。

使用特权

评论回复
6
happy_10| | 2016-8-6 10:01 | 只看该作者
我也遇到过类似的程序,也是被乘数乘32时,用RLC来处理。

我经过仔细体会,这条指令应用的要诀,就是,积的范围要估算好,
只要不溢出,就可大胆使用了。

使用特权

评论回复
7
huanghuac| | 2016-8-6 10:02 | 只看该作者

我见到的应用是这样的:LCD显示程序
GB2312共有不超过8000个字符,用2字节来表示,即区位码
每个字符的字模32字节,
为了计算某个字符字模的首址,就需乘32了
而8000乘32的结果,3e800H
也就是说,要装下这些个字模数据,选用的存储器地址线至少是18位的
使用51单片机的话,可以P0 P2的基础上,再选用P1口的口线做高位地址。

使用特权

评论回复
8
huanghuac| | 2016-8-6 11:03 | 只看该作者

在用RLC时,需准备3个字节来装积,且第3个字节有效的位只有低2位,
高6位是可预见的0!

使用特权

评论回复
9
gongche|  楼主 | 2016-8-6 11:30 | 只看该作者
哦,那我就知道怎么回事了,多谢大家,结贴了哈

使用特权

评论回复
10
台湾笙泉MCU| | 2016-8-8 09:05 | 只看该作者
你好,如果需要技术上的支持请加我QQ: 3166720948

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

768

主题

9410

帖子

2

粉丝