弱弱问下,汇编语言怎么逐位读取一个存储单元内的内容呢?

比如说 一个存储单元内的 内容是10101010,我怎么样可以一位一位的拿来操作

其实本质问题 是我需要编写一个二进制转换十进制的代码,二进制每位乘以权重再累加不就是十进制了,这个思路应该是可以行得通的吧,但是又不知道怎么做

无奈只有临时抱佛脚了。。。SOS 谢谢啦。
谢谢做而论道滴解释哈,通过移位就可以给一位一位拿出来了,那还有没有别的方法呢。二进制转十进制

可以把10101010,传送到A,然后RLC A,最高位的1,就移动到Cy中了。
Cy=1,则把1、2、8,分别加入到百位、十位、个位中;
Cy=0,则把0、0、0,分别加入到百位、十位、个位中。

然后RLC A,把次高位的0,就移动到Cy中了。
Cy=1,则把6、4,分别加入到十位、个位中;
Cy=0,则把0、0,分别加入到十位、个位中。
……
……
很费事,但是,这确实是一种正确的方法。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-04
提供个单字节的。。。。完全正确!!
二进制转十进制。。。
MOV A, R2 ;取来二进制.
MOV B, #100
DIV AB ;除以100
MOV R3, A ;A中是整数,即百位数.
MOV A, #10
XCH A, B
DIV AB ;再除以10
MOV R4, A ;十位数.
MOV R5, B
RET
第2个回答  2010-06-04
你的目的是要把一个字节的二进制数转换成十进制数,你的方法是从存储单元一位一位的读取是不对的,应该是一个字节读取出来之后,再通过其他变量提取,一位一位进行运算,后面的算法是对的
第3个回答  2010-06-04
自己上网查下
相似回答