Когда использовать ADOX вместо ADCX?

Единственное отличие, упомянутое в справочнике по набору команд Intel, заключается в использовании флага переполнения вместо флага переноса. Когда один использует ADOX вместо ADCX выполнить неподписанное дополнение с переносом?

1 ответ

Решение

ADOX можно использовать, когда вы не хотите перезаписывать флаг переноса, как будто вы сохранили что-то вроде поворота.

Однако их основное использование - ускорение арифметики больших чисел, потому что теперь вы можете сделать два дополнения с переносом параллельно в сочетании с mulx

Из статьи Intel Новые инструкции поддерживают целочисленную арифметику

ADCX/ADOX Инструкции

adcx а также adox инструкции являются продолжением adc инструкция, предназначенная для поддержки двух отдельных цепей переноса. Они определены как:

adcx dest/src1, src2
adox dest/src1, src2

Обе инструкции вычисляют сумму src1 а также src2 плюс перенос и генерирование выходной суммы dest и вынос. Разница между этими двумя инструкциями заключается в том, что adcx использует флаг CF для переноса и выполнения (оставляя флаг OF без изменений), тогда как adox инструкция использует флаг OF для переноса и выполнения (оставляя флаг CF без изменений).

Связанные с:

В чем разница между инструкциями ADC и ADCX на ia32/ia64?

Другие вопросы по тегам