assem / Ответы по пунктам / 019
.docx-
Команды сложения
INC <приёмник> - команда приращения приёмника на единицу. Пример: inc сх ; добавление 1 к регистру сх
inc al ; добавление 1 к регистру аl
inc mem_byte ; добавление 1 к байту памяти
inc mem_word[bx] ; добавление 1 к слову памяти с индексом
ADD <opl>, <ор2>; opl = opl +ор2 (add - сложить) Содержимое opl прибавляются к содержимому ор2 и результат записывается на место opl; opl и ор2 не могут быть одновременно ячейками памяти; opl не может быть непосредственным значением. Операнды должны иметь одинаковые форматы.
Пример:
d_seg segment
a db 1,2,3
b dw 1024,37,-85
y db ?
z dw ?
d_seg ends
c_seg segment
assume cs:c_seg, ds:d_seg
start: mov ax, d_seg
mov ds, ax
mov al, 0
add al, a[0]
add al, a[1]
add al, a[2]
mov y, al
mov ax, 0
add ax, b[0]
add ax, b[2]
add ax, b[4]
mov z, ax
mov ah, 4ch
int 21h
c_seg ends
end start
ADC <op1>, <ор2> — команда сложения работает почти так же, как и предыдущая, но к результату добавляется содержимое флага переноса, т. е. op1 = op1 + ор2 +cf. Употребляется в том случае, когда предполагается результат больше, чем количество битов ячейки памяти, оставленной под этот результат (add with carry - сложить с переносом).