Материал: 1328

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

 

 

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

 

МП 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

Источник: https://studfile.net/preview/16407385/