Упаковать битовые группы
                  
                  
                          __asm {
                  
                  
                              // Очистить старшие биты в каждом исходном числе
                  
                  
                              and kop_a, 0x1f // 5 bit
                  
                  
                              and mod1_a, 0x3fff // 14 bit
                  
                  
                              and reg1_a, 0x3f // 6 bit
                  
                  
                              and dst_a, 0x7f // 7 bit
                  
                  
                              xor eax, eax
                  
                  
                              // объединить поле kop с value
                  
                  
                              or al, kop_a
                  
                  
                              shl          eax, 14
                  
                  
                              // объединить поле mod с value
                  
                  
                              or ax, mod1_a
                  
                  
                              shl        eax, 6
                  
                  
                              // объединить поле reg с value
                  
                  
                              or ax, reg1_a // operand size conflict
                  
                  
                              shl            eax, 7
                  
                  
                              // объединить поле scale с value
                  
                  
                              or al, dst_a
                  
                  
                              mov            value_a, eax
                  
                  
                          }
                  
                  
                
Делать упаковку в более длинную ячейку?
А почему "operand size conflict"?
проверьте размер операнда "reg1_a " скорее всего он обьявлен 32 бит шириной или 8 бит
Как вариант: компиляция из-за этого не прошла, а экзешник от предыдущего варианта остался ))
Кстати частая причина, когда результат компиляции ставит в тупик!
Обсуждают сегодня