RL和RLC

[复制链接]
688|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)
huwr 发表于 2016-8-6 09:58 | 显示全部楼层

而移位就是移动小数点位置,和十进制是一样的。
happy_10 发表于 2016-8-6 10:01 | 显示全部楼层
我也遇到过类似的程序,也是被乘数乘32时,用RLC来处理。

我经过仔细体会,这条指令应用的要诀,就是,积的范围要估算好,
只要不溢出,就可大胆使用了。
huanghuac 发表于 2016-8-6 10:02 | 显示全部楼层

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

在用RLC时,需准备3个字节来装积,且第3个字节有效的位只有低2位,
高6位是可预见的0!
 楼主| gongche 发表于 2016-8-6 11:30 | 显示全部楼层
哦,那我就知道怎么回事了,多谢大家,结贴了哈
台湾笙泉MCU 发表于 2016-8-8 09:05 | 显示全部楼层
你好,如果需要技术上的支持请加我QQ: 3166720948
您需要登录后才可以回帖 登录 | 注册

本版积分规则

768

主题

9410

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部