Дано: 2 Word-а по 16 бит Необходимо объединить их так, чтобы биты шли последовательно Можно ли сделать это без многочисленных умножений или огромных заранее рассчитанных таблиц? Пример: 0101010101010101 op 1100111000111100 = 0111001001110110111001110010 --- Сообщение объединено, 27 ноя 2020 --- О, в моём примере не так Но важное уточнение На практике не бывает, что оба n-ных бита равны 1 Может быть пригодится
Таблица 128кб объединения 2-х байт заполнять подобным образом, или 64 команды в развернутом цикле, или свернутом, в SSE и т.д. не знаю. .486p Mov eCx,15 c1: BT [W1],Cx RCL eAx,1 BT [W2],Cx RCL eAx,1 LoopD c1 BT [W1],0 RCL eAx,1 BT [W2],0 RCL eAx,1
Я честно говоря думал есть способ обойтись парой умножений и битовыми операциями В общем спасибо за участие!