【发布时间】:2021-08-05 22:10:26
【问题描述】:
请帮助如何通过二进制数组(数组的值在程序中填充)并分配总变量值total = total * 2 + digit(数字是来自数组的二进制数字),循环完成后,输出值控制台中的变量总数并在 masm32 中执行?
array = [1, 1];
let total = 0;
for (let i = 0; i < length_of_array; i++){
total = total * 2 + array[i];
}
print(total); // 3
【问题讨论】:
-
正如我对previous version of this question 的评论,x86 asm 中的高效 方式涉及
pmovmskb- How to create a 8 bit mask from lsb of __m64 value? 的MMX 或SSE2。否则,您通常希望cmp/adc eax,eax将 CF 转换为 EAX。