Инструкция DECУменьшение регистра или ячейки памяти на 1
DEC reg/mem
8 _- Уменьшить reg/mem
8 на 1.
DEC reg/mem
16 - Уменьшить reg/mem
16 на 1.
Вычитает 1 из целевого операнда, сохраняя при этом состояние флага CF. Целевым операндом может быть регистр или ячейка памяти. Эта инструкция позволяет обновлять счётчик циклов, не нарушая флаг CF. (Чтобы выполнить операцию уменьшения, которая обновляет флаг CF, используйте инструкцию
sub с непосредственным операндом, равным 1.)
Эта инструкция может использоваться с префиксом
lock, чтобы разрешить выполнение инструкции атомарно.
На флаг CF это не влияет. Флаги OF, SF, ZF, AF и PF устанавливаются в соответствии с результатом.
В качестве примера рассмотрим случай, когда регистр cx содержит
210 (
000216). Выполнение
inc cx приведёт к увеличению содержимого регистра cx до
210 (
000316), затем мы два раза выполним инструцию
dec cx что приведет к уменьшению результата на 2.
- title Автор: Довгополов Евгений Сергеевич
- .model small
- .stack 100h
- code segment public
- ____assume cs:code
- ____main proc
- ________mov_____cx, 2
- ________inc_____cx
- ________dec_____cx
- ________dec_____cx
- ________mov_____ax, 4C00h
- ________int_____21h
- ____main endp
- code ends
- end main