Архитектура микропроцессорной системы. Состав машинных команд и основы программирования микропроцессорной системы на ассемблере. Булатов В.Н. - 116 стр.

UptoLike

Составители: 

SBB —вычитание с учетом заема
Действие команды
7654321 0 7 6 5 4 3 2 1 0
Регистр/память с регистром
000110d w
mo
d
reg r/m
Данные с регистром/памятью
10000
0s w
mo
d
0 1 1 R/m
Данные с аккумулятором
001
01
10 w
DEC —уменьшение
Действие команды
765432107 6 5 4 3 2 1 0
Регистр/память
1111111
w
mod 0 0 1 R/m
Регистр
01001 reg
CMP —срвнение
Действие команды
765432107 6 5 4 3 210
Регистр/память с регистром
001110d
w
mod
reg r/m
Данные с регистром/памятью
10000
0s
w
mo
d
1 1 1 R/m
Данные с аккумулятором
001
11
10
w
Командадействие
команды
He
x
7654321 0 7 6 5 4 3 210
MULумножение беззнаковое
1111011w mod 1 0 0 r/m
IMULумножение со знаком
1111011w mod 1 0 1 R/m
DIVделение беззнаковое 1111011w mod 1 1 0 R/m
IDIV деление со знаком 1111011w mod 1 1 1 R/m
NEGизменение знака 11110
11w
mod 0 1 1 R/m
AAAсимвольная коррекция
для сложения
37 0 0 1
10
11 1
DAAдесятичная коррекция
для сложения
27 0 0 1
00
11 1
AASсимвольная коррекция
для вычитания
3F 0 0 1
11
11 1
DASдесятичная коррекция
для вычитания
2F 0 0 1
01
11 1
AAMсимвольная коррекция
для умножения
11010
10 0
0 0 0 0 1 0 1 0
AAD символьная коррекция
для деления
11010
10 1
0 0 0 0 1 0 1 0
CBWпреобразование байта
в слово
98 1 0 0
11
00 0
CWDпреобразование слова в
двойное слово
99 1 0 0
11
00 1
116
 SBB —вычитание с учетом заема
  Действие команды                  7 6 5 4 3 2 1                0       7 6 5 4 3 2 1 0
                                                                         mo
  Регистр/память с регистром        0 0 0 1 1 0 d                w           reg   r/m
                                                                         d
                                                                         mo
  Данные с регистром/памятью        1 0 0 0 0 0 s                w           0 1 1 R/m
                                                                         d
  Данные с аккумулятором            0 0 1 0 1 1 0                w



 DEC —уменьшение
      Действие команды                  7 6 5 4 3 2 1 0 7 6 5 4                     3 2 1 0
      Регистр/память                    1 1 1 1 1 1 1 w mod 0 0                     1 R/m
      Регистр                           0 1 0 0 1 reg

  CMP —срвнение
   Действие команды                      7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
      Регистр/память с регистром         0 0 1 1 1 0 d w mod  reg  r/m
                                                         mo
      Данные с регистром/памятью         1 0 0 0 0 0 s w     1 1 1 R/m
                                                          d
      Данные с аккумулятором             0 0 1 1 1 1 0 w


         Команда – действие        He
                                    x    7 6 5 4 3 2 1 0                  7   6 5 4 3 2 1 0
              команды
  MUL —умножение беззнаковое             1   1   1   1   0   1   1   w    mod   1   0   0   r/m
  IMUL —умножение со знаком              1   1   1   1   0   1   1   w    mod   1   0   1   R/m
  DIV —деление беззнаковое               1   1   1   1   0   1   1   w    mod   1   1   0   R/m
  IDIV —деление со знаком                1   1   1   1   0   1   1   w    mod   1   1   1   R/m
  NEG —изменение знака                   1   1   1   1   0   1   1   w    mod   0   1   1   R/m
  AAA —символьная коррекция
                                   37    0 0 1 1 0 1 1 1
  для сложения
  DAA —десятичная коррекция
                                   27    0 0 1 0 0 1 1 1
  для сложения
  AAS —символьная коррекция
                                   3F    0 0 1 1 1 1 1 1
  для вычитания
  DAS —десятичная коррекция
                                   2F    0 0 1 0 1 1 1 1
  для вычитания
  AAM —символьная коррекция
                                         1 1 0 1 0 1 0 0                  0   0 0 0 1 0 1 0
  для умножения
  AAD —символьная коррекция
                                         1 1 0 1 0 1 0 1                  0   0 0 0 1 0 1 0
  для деления
  CBW —преобразование байта
                                   98    1 0 0 1 1 0 0 0
  в слово
  CWD —преобразование слова в
                                   99    1 0 0 1 1 0 0 1
  двойное слово



116