Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

epd629

.pdf
Скачиваний:
17
Добавлен:
02.05.2015
Размер:
1.05 Mб
Скачать

 

 

Вычитание чисел без знака

 

МП 80386

 

 

 

 

Вычисление

 

 

 

 

d1-w1-b1-d2-w2-b2

 

 

 

 

mov ecx, d1

 

 

 

 

 

 

 

 

 

 

 

31

 

 

 

16

 

15

2

1

0

 

d1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ecx

 

 

 

 

 

 

 

 

 

 

 

 

 

15

2

1

0

 

w1

mov eax, 0

 

 

 

 

 

 

 

 

 

 

 

mov ax, w1

 

 

 

 

 

ax

 

 

 

 

31

 

 

 

16

 

15

2

1

0

 

рег.eax (w1)

0 0

0

0

0

 

 

 

w1

 

 

 

 

sub ecx,eax

 

 

eax

 

 

 

 

 

 

 

 

d1-w1

 

 

 

 

 

 

 

31

 

 

 

16

 

15

2

1

0

 

рег. ecx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ecx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

1

0

 

b1

 

 

 

 

 

 

 

 

 

 

 

 

 

mov eax,0

 

 

 

 

 

 

 

 

 

 

 

mov al,b1

 

 

 

 

 

 

 

 

 

 

 

31

 

 

 

16

 

15

2

1

0

 

рег. eax

0 0

0

0

0

 

 

 

b1

 

 

 

 

 

 

 

 

eax

 

 

 

 

 

 

 

sub ecx, eax

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d1-w1-b1

 

 

 

 

 

 

31

 

 

 

16

 

15

2

1

0

 

рег. ecx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ecx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

 

 

 

16

 

15

2

1

0

 

d2

 

 

 

 

 

 

 

 

 

 

 

 

 

sub ecx, d2

 

d1-w1-b1-d2

 

 

 

 

 

 

31

 

 

 

16

 

15

2

1

0

 

рег. ecx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ecx

 

 

 

 

 

 

 

 

 

 

 

 

 

15

2

1

0

 

w2

 

 

 

 

 

 

 

 

 

 

 

 

 

mov eax, 0

 

 

 

 

 

 

 

 

 

 

 

mov ax, w2

 

 

 

 

 

 

 

 

 

 

 

31

 

 

 

16

 

15

2

1

0

 

101

рег.eax (w2)

0

0

0

 

 

 

 

w2

 

 

 

 

 

 

 

eax

 

 

 

 

 

 

 

 

 

sub ecx, eax

d1-w1-b1-d2-w2

 

 

 

 

 

 

 

 

31

 

16

 

15

 

 

 

2

1

0

 

рег. ecx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ecx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

1

0

 

b2

 

 

 

 

 

 

 

 

 

 

 

 

 

mov eax,0

 

 

 

 

 

 

 

 

 

 

 

 

mov al,b2

 

 

 

 

 

 

 

 

 

 

 

 

31

 

16

 

15

 

7

2

1

0

 

рег. eax

0

0

0

 

0

0

0

 

b2

 

 

 

 

 

 

eax

 

 

 

 

 

 

 

 

 

sub ecx, eax

d1-w1-b1-d2-w2-b2

 

 

 

 

 

 

 

31

 

16

 

15

 

 

 

2

1

0

 

рег. ecx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ecx

 

 

 

 

 

 

 

 

 

 

 

 

 

Занесение результата в ячейку памяти

rezult

(определена как четверное слово)

 

 

mov dword ptr rezult,ecx

 

 

 

 

 

 

 

 

 

 

 

 

mov dword ptr rezult+4,0

 

d1-w1-b1-d2-w2-b2

 

 

 

 

rezult

 

 

 

 

 

 

rezult+2

 

 

 

 

 

rezult

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

 

16

 

15

 

 

 

2

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

rezult+6

 

 

 

 

rezult+4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

63

 

46

 

47

 

 

 

 

33

32

 

 

 

 

 

 

 

 

 

 

 

 

 

 

102

 

 

Умножение чисел без знака

МП 8086

 

 

 

 

Вычисление

 

b1*b2*w1*d1

 

 

 

 

mov al,b1

 

 

 

 

 

 

 

mul b2

 

 

 

 

 

 

 

 

 

15

2

1

0

 

ax

 

 

 

 

 

 

 

 

 

 

 

cx

 

 

 

mul w1

15

2

1

0

 

w1

 

 

 

 

 

 

 

 

 

b1*b2*w1

 

 

 

 

31

16 15

2

1

0

 

рег. dx:ax

 

 

 

 

 

 

 

 

 

dx

 

 

ax

 

 

 

 

 

 

 

 

 

 

 

 

b1

см. ПИТЕР АБЕЛЬ (умножение двойных слов)

рег. ax

31

16 15

2 1

 

 

 

 

103

 

Умножение чисел без знака

МП 80386

 

 

Вычисление

 

b1*b2*w1*d1

 

 

mov al,b1

 

 

 

 

 

mul b2

 

 

b1*b2

 

 

 

 

 

 

 

 

 

 

 

15

2

1

0

ax

 

 

 

 

 

 

 

 

 

cx

 

 

mul w1

 

15

2

1

0

w1

 

 

 

 

 

 

 

b1*b2*w1

 

 

 

31

16

15

2

1

0

рег. еax

eax

d1

mul d1

b1*b2*w1*d1

 

 

 

 

 

 

 

 

результат

 

 

63

48

47

32

 

 

 

 

 

рег.edx:eax

 

e

d

x

31

16

15

2 1 0

 

 

 

 

 

 

 

e

a

x

104

Логическое ИЛИ (поразрядное)

 

 

МП 8086

 

 

 

 

 

Вычисление d1 or w1 or b1 or d2 or w2 or b2

 

 

 

 

 

mov cx, word ptr d1

 

 

 

 

 

 

 

 

 

mov dx, word ptr d1+2

 

 

 

 

 

 

 

 

31

 

16

15

2

 

1

0

 

d1

 

 

 

 

 

 

 

 

 

 

 

dx

 

 

 

cx

 

 

 

 

 

 

 

15

2

 

1

0

 

w1

 

 

 

 

 

 

 

 

 

or cx, w1

 

 

 

 

 

 

 

 

 

 

 

d1 or w1

 

 

 

 

 

 

31

 

16

15

2

 

1

0

 

рег. dx:cx

 

 

 

 

 

 

 

 

 

 

 

dx

 

 

cx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

1

0

 

b1

 

 

 

 

 

 

 

 

 

or cl,b1

 

 

 

 

 

 

 

 

 

 

 

d1 or w1 or b1

 

 

 

 

 

 

31

 

16

15

2

 

1

0

 

рег. dx:cx

 

 

 

 

 

 

 

 

 

 

 

dx

 

 

cx

 

 

 

 

 

 

 

 

 

 

 

 

31

 

16

15

2

 

1

0

 

d2

 

 

 

 

 

 

 

 

 

 

or cx, word ptr d2

 

 

 

 

 

 

 

 

 

or dx, word ptr d2+2

 

 

 

 

 

 

 

 

 

 

 

d1 or w1 or b1 or d2

 

 

 

31

 

16

15

2

 

1

0

 

рег. dx:cx

 

 

 

 

 

 

 

 

 

 

 

dx

 

 

cx

 

 

 

 

 

 

 

15

2

 

1

0

 

w2

 

 

 

 

 

 

 

 

 

or cx, w2

d1 or w1 or b1 or d2 or w2

 

 

 

 

 

 

 

 

 

31

 

16

15

2

 

1

0

 

рег. dx:cx

 

 

 

 

 

 

 

 

 

 

 

dx

 

 

cx

 

 

 

 

 

 

 

 

7

 

1

0

 

b2

 

 

 

 

 

 

 

 

 

or cl,b2

 

 

 

 

 

 

 

 

105

d1 or w1 or b1 or d2 or w2 or b2

31

16

15

2

1

0

 

рег. dx:cx

 

 

 

 

 

 

 

 

dx

 

 

cx

 

 

 

 

 

 

Занесение результата в ячейку памяти

rezult

(определена как четверное слово)

 

mov word ptr rezult,cx

 

 

 

 

 

 

 

mov word ptr rezult+2,dx

 

 

 

 

 

 

 

mov word ptr rezult+4,0

 

 

 

 

 

 

 

mov word ptr rezult+6,0

 

 

 

 

 

 

d1 or w1 or b1 or d2 or w2 or b2

rezult

 

rezult+2

 

 

rezult

 

 

 

 

31

16

15

2

1

0

 

 

 

 

 

 

 

 

 

 

rezult+6

 

 

rezult+4

 

 

 

 

 

 

 

 

 

 

63

46

47

 

33

32

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

106

Логическое ИЛИ (поразрядное)

 

МП 80386

 

 

 

 

Вычисление d1 or w1 or b1 or d2 or w2 or b2

 

 

 

 

mov ecx, d1

 

 

 

 

 

 

 

31

 

16

 

15

2

1

0

 

d1

 

 

 

 

 

 

 

 

 

 

 

ecx

 

 

 

 

 

 

 

 

 

 

15

2

1

0

 

w1

 

 

 

 

 

 

 

 

or cx, w1

 

 

 

 

 

 

 

 

 

 

d1 or w1

 

 

 

 

31

 

16

 

15

2

1

0

 

рег. ecx

 

 

 

 

 

 

 

 

 

 

 

ecx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

1

0

 

b1

 

 

 

 

 

 

 

 

or cl,b1

 

 

 

 

 

 

 

 

 

 

d1 or w1 or b1

 

 

 

 

31

 

16

 

15

2

1

0

 

рег. ecx

 

 

 

 

 

 

 

 

 

 

 

ecx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

 

16

 

15

2

1

0

 

d2

 

 

 

 

 

 

 

 

or ecx, d2

d1 or w1 or b1 or d2

31 16 15 2 1 0

рег. ecx

ecx

15 2 1 0

w2

or cx, w2

d1 or w1 or b1 or d2 or w2

31

16

15

 

2

1

0

 

рег. ecx

 

 

 

 

 

 

 

 

 

 

ecx

 

 

 

 

 

 

 

 

 

7

 

1

0

 

b2

 

 

 

 

 

 

 

or cl,b2

d1 or w1 or b1 or d2 or w2 or b2

107

31

16

15

2

1

0

рег. ecx

ecx

Занесение результата в ячейку памяти rezult (определена как четверное слово)

mov dword ptr rezult,ecx mov dword ptr rezult+4,0

d1 or w1 or b1 or d2 or w2 or b2

rezult

 

rezult+2

 

 

rezult

 

 

 

 

31

16

15

2

1

0

 

 

 

 

 

 

 

 

 

 

rezult+6

 

 

rezult+4

 

 

 

 

 

 

 

 

 

 

63

46

47

 

33

32

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

108

Логическое И (поразрядное)

МП 8086

Вычисление d1 and w1 and b1 and d2 and w2 and b2

mov cx, word ptr d1 mov dx, word ptr d1+2

31 16 15 2 1 0

d1

dx

cx

 

 

15

2

1

0

w1

and cx, w1

d1 and w1

15 2 1 0

рег. cx

 

 

 

cx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

1

0

 

b1

 

 

 

 

 

 

 

 

and cl,b1

d1 and w1 and b1

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

1

0

 

рег. cl

 

 

 

 

 

 

 

 

 

 

 

 

cl

 

 

 

 

 

 

 

 

 

 

 

 

31

16

15

 

2

1

0

 

d2

 

 

 

 

 

 

 

 

 

and cl, byte ptr d2

 

 

 

 

 

 

 

 

d1 and w1 and b1 and d2

 

 

 

 

 

 

 

7

 

1

0

 

рег. cl

 

 

 

 

 

 

 

 

 

 

 

 

cl

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15

 

2

1

0

 

w2

 

 

 

 

 

 

 

 

and cl, byte ptr w2

 

 

 

 

 

 

 

 

d1 and w1 and b1 and d2 and w2

 

 

 

 

 

 

 

7

 

1

0

 

рег. cl

 

 

 

 

 

 

 

 

 

 

 

 

cl

 

 

 

 

 

 

7

 

1

0

 

b2

 

 

 

 

 

 

 

109

and cl,b2

d1 and w1 and b1 and d2 and w2

7

1

0

рег. cl

cl

Занесение результата в ячейку памяти rezult (определена как четверное слово) mov byte ptr rezult,cl

mov byte ptr rezult+1,0 mov word ptr rezult+2,0

mov word ptr rezult+4,0

mov word ptr rezult+6,0

d1 and w1 and b1 and d2 and w2 and b2

rezult

rezult+2

 

 

 

rezult

 

 

31

16

15

 

2

1

0

0

0

0

0

0

 

 

rezult+6

 

 

rezult+4

 

 

 

 

 

 

63

46

47

 

 

33

32

0

0

0

 

 

 

0

110

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]