Главная · Поиск книг · Поступления книг · Top 40 · Форумы · Ссылки · Читатели

Настройка текста
Перенос строк


    Прохождения игр    
Demon's Souls |#13| Storm King
Demon's Souls |#12| Old Monk & Old Hero
Demon's Souls |#11| Мaneater part 2
Demon's Souls |#10| Мaneater (part 1)

Другие игры...


liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня
Rambler's Top100
Образование - Питер Абель Весь текст 992.61 Kb

Ассемблер и программирование для IBM PC

Предыдущая страница Следующая страница
1 ... 72 73 74 75 76 77 78  79 80 81 82 83 84 85
String - ввод строки). См. также команду OUT.

     Ф л а г и: Не меняются.

     О б ъ е к т н ы й  к о д (два формата):

          Переменный  порт:   |1110110w|
          Фиксированный порт: |1110010w|--port--|


                              INC: Инкремент
                             ----------------
     О п е р а ц и я: Прибавляет 1 к байту или  слову  в  регистре  или  в
памяти, например INC СХ. См. также команду DEC.

     Ф л а г и: Команда воздействует на флаги AF, OF, PF, SF и ZF.

     О б ъ е к т н ы й  к о д (два формата):

          Регистр:            |01000reg|
          Регистр или память: |1111111w|mod000r/m|


                             INT: Прерывание
                            -----------------
     О п е р а ц и я: Прерывает выполнение программы и передает управление
по одному из 256 адресов  (векторов  прерывания).  Команда  INT  выполняет
следующее: 1) уменьшает значение  SP  на  2  и  заносит  в  стек  флаговый
регистр, сбрасывает флаги IF и TF; 2) уменьшает значение SP на 2 и заносит
регистр CS в стек, старшее слово из вектора прерывания помещает в  регистр
CS; 3) уменьшает значение SP на 2 и заносит регистр  IP  в  стек,  младшее
слово из вектора прерывания помещает в регистр IP.

     Ф л а г и: Команда воздействует на флаги IF и TF.

     О б ъ е к т н ы й  к о д:
          |1100110v|--type--| (если v = 0, то type = 3).


                     INTO: Прерывание по переполнению
                    ----------------------------------
     О п е р а ц и я: Приводит к прерыванию при возникновении переполнения
(флаг OF установлен в 1) и выполняет команду IRET  4.  Адрес  подпрограммы
обработки прерывания (вектор прерывания)  находится  по  адресу  10Н.  См.
также команду INT.

     Ф л а г и: Не меняются.

     О б ъ е к т н ы й  к о д: 11001110 (без операндов).


                  IRET: Возврат из обработки прерывания
                 ---------------------------------------
     О п е р а ц и  я:  Обеспечивает  возврат  из  подпрограммы  обработки
прерывания. Команда IRET выполняет следующее: 1) помещает слово из вершины
стека в регистр IP и увеличивает значение SP на 2; 2)  помещает  слово  из
вершины стека в регистр CS и увеличивает значение SP  на  2;  3)  помещает
слово из вершины стека во флаговый регистр и увеличивает значение  SP.  на
2. См. также команду RET.

     Ф л а г и: Команда воздействует на все флаги.

     О б ъ е к т н ы й  к о д: 11001111 (бег операндов).


            JA/JNBE: Переход по "выше" или "не ниже или равно"
           ----------------------------------------------------
     О п е р а ц и я: Используется после проверки беззнаковых  данных  для
передачи управления по другому  адресу.  Если  флаг  CF  равен  нулю  (нет
переноса) и флаг ZF равен нулю (не нуль), то команда прибавляет к регистру
IP значение операнда (относительное смещение) и  выполняет  таким  образом
переход.

     Ф л а г и: Не меняются.

     О б ъ е к т н ы й  к о д: |01110111|--disp--|


            JAE/JNB: Переход по "выше или равно" или "не ниже"
           ----------------------------------------------------
     О п е р а ц и я: Используется после проверки беззнаковых  данных  для
передачи управления по другому  адресу.  Если  флаг  CF  равен  нулю  (нет
переноса),  то  команда  прибавляет  к  регистру  IP  значение    операнда
(относительное смещение) и выполняет таким образом переход.

     Ф л а г и: Не меняются.

     О б ъ е к т н ы й  к о д: |01110011|--disp--|


            JB/JNAE: Переход по "ниже" или "не выше или равно"
           ----------------------------------------------------
     О п е р а ц и я: Используется после проверки беззнаковых  данных  для
Передачи управления по другому адресу.  Если флаг CF равен  единице  (есть
перенос),  то  команда  прибавляет  к  регистру  IP   значение    операнда
(относительное смещение) и выполняет таким образом переход.

     Ф л а г и: Не меняются.

     О б ъ е к т н ы й  к о д: |01110010|--disp--|

            JBE/JNA: Переход по "ниже или равно" или "не выше"
           ----------------------------------------------------
     О п е р а ц и я: Используется после проверки беззнаковых  данных  для
передачи управления по другому адресу.  Если флаг CF равен  единице  (есть
перенос) или флаг AF равен единице, то команда прибавляет  к  регистру  IP
значение операнда  (относительное  смещение)  и  выполняет  таким  образом
переход.

     Ф л а г и: Не меняются.

     О б ъ е к т н ы й  к о д: |01110110|--disp--|


                         JC: Переход по переносу
                        -------------------------
     О п е р а ц и я: Идентична JB/JNAE.


                     JCXZ: Переход по "CX равно нулю"
                    ----------------------------------
     О п е р а ц и я:   Выполняет  передачу  управления  по  указанному  в
операнде адресу, если значение в регистре  CX  равно  нулю.  Команда  JCXZ
может быть полезна в начале циклов LOOP.

     Ф л а г и: Не меняются.

     О б ъ е к т н ы й  к о д: |11100011|--disp--|


                 JE/JZ: Переход по "равно" или по "нулю"

     О п е р а ц и я: Используется после проверки знаковых или беззнаковых
данных для передачи управления по  другому  адресу.  Если  флаг  ZF  равен
единице (нулевое состояние), то команда прибавляет к регистру IP  значение
операнда (относительное смещение) и выполняет таким образом переход.

     Ф л а г и: Не меняются.

     О б ъ е к т н ы й  к о д: |01110100|--disp--|


          JG/JNLE: Переход по "больше" или "не меньше или равно"
         --------------------------------------------------------
     О п е р а ц и я: Используется  после  проверки  знаковых  данных  для
передачи управления по другому адресу. Если флаг ZF равен нулю (не нуль) и
флаги  SF  и  OF  одинаковы  (оба  0  или оба 1),  то команда прибавляет к
регистру IP значение операнда (относительное смещение) и  выполняет  таким
образом переход.

     Ф л а г и: Не меняются.

     О б ъ е к т н ы й  к о д: |01111111|--disp--|


          JGE/JNL: Переход по "больше или равно" или "не меньше"
         --------------------------------------------------------
     О п е р а ц и я: Используется  после  проверки  знаковых  данных  для
передачи управления по другому адресу. Если флаги SF и OF одинаковы (оба 0
или оба  1),  то  команда  прибавляет  к  регистру  IP  значение  операнда
(относительное смещение) и выполняет таким образом переход.

     Ф л а г и: Не меняются.

     О б ъ е к т н ы й  к о д: |01111101|--disp--|


          JL/JNGE: Переход по "меньше" или "не больше или равно"
         --------------------------------------------------------
     О п е р а ц и я: Используется  после  проверки  знаковых  данных  для
передачи управления по другому адресу.  Если флаги SF и  OF  различны,  то
команда  прибавляет  к  регистру  IP  значение  операнда    (относительное
смещение) и выполняет таким образом переход.

     Ф л а г и: Не меняются.

     О б ъ е к т н ы й  к о д: |01111100|--disp--|


          JLE/JNG: Переход по "меньше или равно" или "не больше"
         --------------------------------------------------------
     О п е р а ц и я: Используется  после  проверки  знаковых  данных  для
передачи управления по другому адресу. Если флаг ZF равен единице (нулевое
состояние) и флаги SF и OF различны, то команда прибавляет к  регистру  IP
значение операнда  (относительное  смещение)  и  выполняет  таким  образом
переход.

     Ф л а г и: Не меняются.

     О б ъ е к т н ы й  к о д: |01111110|--disp--|


                         JMP: Безусловный переход
                        --------------------------
     О п е р а ц и я: Выполняет переход по  указанному  адресу  при  любых
условиях.  Команда JMP заносит в регистр IP  необходимый  адрес  перехода.
Существует пять типов команды JMP для передачи управления внутри  сегмента
или между сегментами.  При межсегментном переходе в регистр  CS  заносится
также новый сегментный адрес.

     Ф л а г и: Не меняются.

     О б ъ е к т н ы й  к о д (пять форматов):

          Прямой  переход внутри сегмента:
               |11101001|disp-low|disp-high|
          Прямой  переход внутри сегмента (короткий):
               |11101011|--disp--|
          Косвенный  переход внутри сегмента:
               |11111111|mod100r/m|
          Косвенный межсегментный переход:
               |11111111|mod101r/m|
          Прямой межсегментный переход:
               |11101010|offset-low|offset-high|seg-low|seg-high|


                      JNC: Переход если нет переноса
                     --------------------------------
     О п е р а ц и я: Идентична JAE/JNB.


             JNE/JNZ: Переход по "не равно" или по "не нуль"
            -------------------------------------------------
     О п е р а ц и я: Используется  после  проверки  знаковых  данных  для
передачи управления по другому адресу.  Если флаг ZF равен нулю (ненулевое
состояние),  то  команда  прибавляет  к  регистру  IP  значение   операнда
(относительное смещение) и выполняет таким образом переход.

     Ф л а г и: Не меняются.

     О б ъ е к т н ы й  к о д: |01110101|--disp--|


                   INO: Переход, если нет переполнения
                  -------------------------------------
     О п е р а ц и я:    Используется   для   передачи    управления    по
определенному адресу после проверки на отсутствие переполнения.  Если флаг
OF равен, нулю (нет переполнения), то команда  прибавляет  к  регистру  IP
значение операнда  (относительное  смещение)  и  выполняет  таким  образом
переход. См. также команду JO.

     Ф л а г и: Не меняются.

     О б ъ е к т н ы й  к о д: |01110001|--disp--|


         JNP/JPO: Переход, если нет паритета или паритет нечетный
        ----------------------------------------------------------
     О п е р а ц и я: Приводит  к  передаче  управления  по  определенному
адресу, если в результате  операции  обнаружено  отсутствие  паритета  или
паритет нечетный.  Нечетный  паритет  в  данном  случае  означает,  что  в
результате операции в .  младших  восьми  битах  получено  нечетное  число
битов. Если флаг PF равен нулю (нечетный паритет), то команда прибавляет к
регистру IP значение операнда (относительное смещение) и  выполняет  таким
образом переход. См. также команду JP/JPE.

     Ф л а г и: Не меняются.

     О б ъ е к т н ы й  к о д: |01111011|--disp--|


                       JHS: Переход, если нет знака
                      ------------------------------
     О п е р а ц и я: Приводит  к  передаче  управления  по  определенному
адресу, если в результате операции получен положительный знак.  Если  флаг
SF равен нулю (положительное), то команда JNS  прибавляет  к  регистру  IP
значение операнда  (относительное  смещение)  и  выполняет  таким  образом
переход. См. также команду JS.

     Ф л а г и: Не меняются.

     О б ъ е к т н ы й  к о д: |01111001|--disp--|


                       JO: Переход по переполнению
                      -----------------------------
     О п е р а ц и я: Приводит  к  передаче  управления  по  определенному
адресу, если в результате операции получено состояние  переполнения.  Если
флаг OF равен единице (переполнение),  то команда JO прибавляет к регистру
IP значение операнда (относительное смещение) и  выполняет  таким  образом
переход. См. также команду JNO.

     Ф л а г и: Не меняются.

     О б ъ е к т н ы й  к о д: |01110000|--disp--|


          JP/JPE: Переход, если есть паритет или паритет четный
         -------------------------------------------------------
     О п е р а ц и я: Приводит  к  передаче  управления  по  определенному
адресу, если  в  результате  операции  обнаружен  четный  паритет.  Четный
паритет в данном случае означает, что  в  результате  операции  в  младших
Предыдущая страница Следующая страница
1 ... 72 73 74 75 76 77 78  79 80 81 82 83 84 85
Ваша оценка:
Комментарий:
  Подпись:
(Чтобы комментарии всегда подписывались Вашим именем, можете зарегистрироваться в Клубе читателей)
  Сайт:
 
Комментарии (15)

Реклама