首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

想要给array数组赋值,赋值是十进制数100转换为二进制中1所在的位置,程序还是有有关问题,可以帮忙看一下吗

2012-06-06 
想要给array数组赋值,赋值是十进制数100转换为二进制中1所在的位置,程序还是有问题,可以帮忙看一下吗?想要

想要给array数组赋值,赋值是十进制数100转换为二进制中1所在的位置,程序还是有问题,可以帮忙看一下吗?
想要给array数组赋值,赋值是十进制数100转换为二进制中1所在的位置,比如100是1100100
然后array数组中array[2]=2,array[5]=5,array[6]=6,其余都为0,可是我测试过后,只有array[2]=2,其余都为0,这是为什么呢?

新手给分比较少,见谅~

;给array数组赋值,确定乘数中1的位置
proarray proc
mov ebx,valY
xor esi,esi
mov esi,offset array
mov ecx,32
rcl ebx,1;调整
L2:
rcr ebx,1
mov eax,temp
mov edx,ebx
test edx,1b
jnz next
inc temp
add esi,4
loop L2
next:
mov [esi],eax
ret
proarray endp


[解决办法]
把这个数字除以2 取余数 然后把这个数字左移 再除以2取余数 依次循环

只要思路正确就容易些

热点排行