Основы языка Ассемблера

         

ADC Целочисленное сложение с переносом


Команда adc осуществляет сложение первого и второго операндов, прибаатяя к результату значение флага переноса CF. Исходное значение первого операнда (приемника) теряется, замещаясь результатом сложения. Второй операнд не изменяется. В качестве первого операнда команды adc можно указывать регистр (кроме сегментного) или ячейку памяти, в качестве второго - регистр (кроме сегментного), ячейку памяти или непосредственное значение, однако не допускается определять оба операнда одновременно как ячейки памяти. Операнды могут быть байтами или словами и представлять числа со знаком или без знака. Команда adc (совместно с командой add) обычно используется для сложения 32-разрядных чисел. Команда воздействует на флаги OF, SF, ZF, AF, PF и CF.

Пример 1

mov AX,1125h

adc AX,2C25h ;AX=3D4Bh, если CF был = 1

;AX=3D4Ah, если CF был= 0< /FONT >

Пример 2

; В полях данных:

numlow dw 0FFFFh ;Младшая часть 2-го слагаемого

numhigh dw 000Sh ;Старшая часть 2-го слагаемого

;Число 0005FFFFh=393215

;В программном сегменте:

mov AX,000Sh ;Младшая часть 1-го слагаемого

mov BX,0002h ;Старшая часть 1-го слагаемого

;Число 00020005h=131077

add АХ,numlow ;Сложение младших частей. АХ=4, CF=1

adc BX, numhigh ;Сложение старших частей с



;переносом.ВХ:АХ=0008:0004h.

;Число 00080004h=524292

386+ Допустимо использование 32-битовых операндов и дополнительных режимов адресации 32-разрядных процессоров. Команда adc с 32-разрядными операндами может использоваться для сложения 64-разрядных целых чисел.

Пример

; В полях данных

mem321 dd 0FFFFFFFFh ;Младшая часть 1-го слагаемого

mem32h dd 98765432h ;Старшая часть 1-го слагаемого

; В программном сегменте

mov EAX,1 ;Младшая часть 2-го слагаемого

mov EBX,0 ;Старшая часть 2-го слагаемого

add EAX,mem321 ;Складываем младшие половины

;Сумма=100000000Ь>32 бит

;EAX=000000h, перенос

adc EBX,mem32h ;Складываем старшие половины

;и перенос. EBX=90000001h ;Сумма: 9876543300000000h



Содержание раздела







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий