Назначение: сложение двух операндов с учетом переноса из младшего разряда.
Синтаксис
Алгоритм работы:
сложить два операнда;
поместить результат в первый операнд: приемник=приемник+источник;
в зависимости от результата установить флаги.
Состояние флагов после выполнения команды:
OF
SF
ZF
AF
PF
CF
r
r
r
r
r
r
Применение:
Команда adc используется при сложении длинных двоичных чисел. Ее можно использовать как самостоятельно, так и совместно с командой add. При совместном использовании команды adc с командой add сложение младших байтов/слов/двойных слов осуществляется командой add, а уже старшие байты/слова/двойные слова складываются командой adc, учитывающей переносы из младших разрядов в старшие. Таким образом, команда adc значительно расширяет диапазон значений складываемых чисел. В приложении 7 приведен пример программы сложения двоичных чисел произвольной размерности.
.datasl1 dd 01fe544fhsl2 dd 005044cdhelderREZ db 0 ;для учета переноса из старшего разряда результатаrez dd 0.code... mov ax,sl1add ax,sl2 ;сложение младших слов слагаемыхmov rez,ax mov ax,sl+2adc ax,sl2+2 ;сложение старших слов слагаемых плюс cf mov rez+2,ax adc elderREZ,0 ;учесть возможный перенос
См. также: урок 8, приложение 7 и команды add, sub, sbb, xadd