Когда использовать 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 без изменений).
Связанные с: