Реферат: Разработка программы на Ассемблере

    inc si; (SI) <-- (SI) + 1.

    inc count; (count) <-- (count) + 1.

3. SUB DST, SRC; вычесть (SRC) из (DST) и результат поместить в DST.

4. DEC DST; декремент (DST).

5. CMP DST, SRC; сравнить содержимое DST и SRC. Эта команда выполняет вычитание (SRC) из (DST)   но разность не помещает в DST и по результату операции воздействует на флаги.

 

     условие                                  флаги

                                          OF  SF  ZF  CF

    DST > SRC                            0/1   0   0   0

    DST = SRC                              0   0   1   0

    DST < SRC                            0/1   1   0   1

0/1 - означает, что флаг может быть равен 0 или 1 в зависимости от значений операндов. Флаги OF и SF имеют смысл при операциях со знаковыми числами, CF для беззнаковых чисел. Флаг переполнения OF устанавливается в 1, если в результате операции сложения или вычитания значения переноса в старшиий двоичный разряд и из старшего двоичного разряда не совпадают. По другому определению OF принимает значение 1, если результат превышает диапазон представления соответствующих чисел. Пусть DST > SRC и оба являются однобайтовыми числами, тогда:

 

      DST:       1.   (+127)         2.    (+127)

      SRC:           -  (+2)              -  (-2)

                     -------               -------

                      (+125) (OF)=0        (+129)? (OF)=1

Во втором примере результат превышает диапазон: -128 <= x < = +127. Флаг знака SF устанавливается в '1', если старший бит результата операции равен 1, т.е. при отрицательном результате. В противном случае сбрасывается. Флаг нуля ZF устанавливается в '1' при нулевом результате (!), иначе сбрасывается. Флаг переноса CF = 1, если есть перенос из старшего разряда при сложении или есть заем в младший разряд при вычитании. Иначе флаг сбрасывается. Для первого примера SF = ZF = CF = 0, для второго: SF = 1, ZF = CF = 0.

ЛОГИЧЕСКИЕ КОМАНДЫ И КОМАНДЫ СДВИГА

1. AND DST, SRC; поразрядное логическое "И".

  mov dh, 10101100b;

  and dh, 0f0h;

в результате выполнения этих двух команд содержимое DH станет равно 10100000b.

2. OR DST, SRC; поразрядное логическое "ИЛИ".

 

or bx,dx;если (BX)=5F0Fh,а (DX)=7777h,то после операции

        ;(BX)=7F7Fh.

BX 0101 1111 0000 1111 = 5F0F
DX 0111 0111 0111 0111 = 7777
BX (результат) 0111 1111 0111 1111 = 7F7F

3. XOR DST, SRC; поразрядное логическое "исключающее ИЛИ".

 

xor al,55h;если (AL)=5ah, то после операции (AL)=0fh.

К-во Просмотров: 483
Бесплатно скачать Реферат: Разработка программы на Ассемблере