Материал: 1328

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

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

 

МП 80386

 

 

 

 

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

 

 

 

 

mov ecx, d1

 

 

 

 

 

 

31

16

15

2

1

0

 

d1

 

 

 

 

 

 

 

 

 

ecx

 

 

 

 

 

 

 

 

15

2

1

0

 

w1

 

 

 

 

 

 

 

and cx,w1

 

 

 

 

 

 

 

 

d1 and w1

 

 

 

 

 

 

 

15

2

1

0

 

рег. 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

b2

and cl,b2

111

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 dword ptr rezult+4,0

d1 and w1 and b1 and d2 and w2 and b2

rezult

 

rezult+2

 

 

rezult

 

 

 

 

 

31

16

15

8

7

2

1

0

 

 

 

 

 

 

 

 

 

 

 

 

rezult+6

 

 

rezult+4

 

 

 

 

 

 

 

 

 

 

 

 

63

46

47

 

 

 

33

32

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

112

Приложение 6

Арифметические и логические операции в микропроцессорах МП8086 и МП80386 над числами со знаком

 

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

 

 

 

МП 8086

 

 

 

 

Вычисление

 

d1+w1+b1+d2+w2+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

 

 

 

зн

 

 

w1

 

 

 

 

mov ax,w1

 

15

 

 

 

2

1

0

рег. ax

 

 

 

зн

 

 

w1

 

 

 

 

mov bx,0

 

 

 

ax

 

 

 

 

 

jns met1

 

 

 

 

 

 

 

 

 

mov bx,FFFFh

 

 

 

 

 

 

 

 

met1:

 

 

 

 

 

 

 

 

 

add cx, w1

 

 

 

 

 

 

 

 

 

adc dx, 0

 

 

 

 

 

 

 

 

 

31

 

16

15

 

 

 

 

 

0

 

 

знак

 

зн

 

 

w1

 

 

 

 

 

bx

 

 

 

 

ax

 

 

 

 

 

 

d1+w1

 

 

 

 

 

 

 

 

31

 

16

15

 

 

 

2

1

0

рег. dx:cx

зн

 

 

 

 

 

 

 

 

 

 

 

dx

 

 

 

cx

 

 

 

 

 

 

 

 

 

 

 

7

 

1

0

b1

 

 

 

 

 

 

зн

 

 

 

 

mov al,b1

 

 

 

 

 

 

 

 

 

cbw

 

15

 

8

7

 

1

0

рег. ax

 

 

 

 

знак

 

зн

b1

 

 

 

mov bx,0

 

 

 

 

 

 

 

 

 

jns met2

 

 

 

 

 

 

 

 

 

mov bx,FFFFh

 

 

 

 

 

 

 

 

 

31

 

16

15

 

8

7

 

1

0

рег. bx:ax

 

знак

 

 

знак

 

зн

b1

 

 

 

 

bx

 

 

 

 

 

 

ax

 

met2:

add cx, ax

 

 

 

 

 

 

 

 

 

adc dx, bx

d1+w1+b1

 

 

 

 

 

 

31

 

16

15

 

 

 

2

1

0

рег. dx:cx

зн

 

 

 

 

 

 

 

 

 

 

 

dx

 

 

 

cx

 

 

 

 

113

31

16

15

2

1

0

d2 зн

add cx, word ptr d2 adс dx, word ptr d2+2

d1+w1+b1+d2

 

31

 

16

15

 

 

 

2

1

0

 

рег. dx:сx

зн

 

 

 

 

 

 

 

 

 

 

 

 

dx

 

 

 

сx

 

 

 

 

 

 

 

 

 

15

 

 

 

2

1

0

 

w2

add сx, w2

 

зн

 

w2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

adc dx, 0

d1+w1+b1+d2+w2

 

 

 

 

 

 

 

31

 

16

15

 

 

 

2

1

0

 

рег. dx:сx

зн

 

 

 

 

 

 

 

 

 

 

 

 

dx

 

 

 

сx

 

 

 

 

 

 

 

 

 

 

 

 

7

 

1

0

 

b2

 

 

 

 

 

 

зн

 

 

 

 

 

mov al,b2

 

 

 

 

 

 

 

 

 

 

cbw

 

15

 

8

7

 

1

0

 

рег. ax

mov bx,0

 

 

знак

 

зн

b2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

jns met3

 

 

 

 

 

 

 

 

 

 

mov bx,FFFFh

 

 

 

 

 

 

 

 

 

 

31

 

16

15

 

8

7

 

1

0

 

рег. bx:ax

 

знак

 

 

знак

 

зн

b1

 

 

 

 

 

bx

 

 

 

 

 

 

ax

 

 

 

met3:

 

 

 

 

 

 

 

 

 

 

add cx, ax

 

 

 

 

 

 

 

 

 

adc dx, bx

d1+w1+b1+d2+w2+b2

 

31

16

15

2

1

0

 

рег. dx:ax

зн

 

 

 

 

 

 

 

 

 

dx

 

ax

 

 

 

 

 

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

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

 

mov word ptr rezult,ax

 

 

 

 

 

 

mov word ptr rezult+2,dx

 

 

 

 

 

rezult

 

 

d1+w1+b1+d2+w2+b2

 

 

 

 

rezult+2

 

 

rezult

 

 

 

 

31

16

15

2

1

0

 

зн

114

 

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

 

 

 

 

МП 80386

 

 

 

 

 

Вычисление

 

d1+w1+b1+d2+w2+b2

 

 

 

 

 

mov ecx, d1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

 

 

 

 

16

15

 

 

 

 

 

 

 

2

1

0

 

d1

зн

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ecx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15

 

 

 

 

 

 

 

2

1

0

 

w1

 

 

 

 

 

 

зн

 

 

 

 

 

w1

 

 

 

 

 

mov ax, w1

 

 

 

 

 

 

 

 

ax

 

 

 

 

 

 

 

cwde

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

 

 

 

 

16

15

 

 

 

 

 

 

 

2

1

0

 

рег.eax (w1)

 

з

н

а

к

 

зн

 

 

 

 

 

w1

 

 

 

 

 

add ecx,eax

 

 

eax

 

 

 

 

 

 

 

 

 

 

 

 

 

d1+w1

 

 

 

 

 

 

 

 

 

 

 

31

 

 

 

 

16

15

 

 

 

 

 

 

 

2

1

0

 

рег. ecx

зн

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ecx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

1

0

 

b1

 

 

 

 

 

 

 

 

 

 

 

 

зн

 

 

b1

 

 

 

mov al,b1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cbw

 

 

 

 

15

 

 

 

 

8

7

 

2

1

0

 

рег. ax (b1)

 

 

 

 

 

 

з

н

а

к

 

зн

 

 

b1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ax

 

 

 

 

 

 

 

cwde

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

 

 

 

 

16

15

 

 

 

 

8

7

 

 

1

0

 

рег. eax (b1)

 

з

н

а

к

 

з

н

а

к

 

зн

 

 

b1

 

 

 

add ecx, eax

 

 

eax

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d1+w1+b1

 

 

 

 

 

 

 

 

 

 

 

31

 

 

 

 

16

15

 

 

 

 

 

 

 

2

1

0

 

рег. ecx

зн

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ecx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

 

 

 

 

16

15

 

 

 

 

 

 

 

2

1

0

 

d2

зн

 

 

 

 

d2

 

 

 

 

 

 

 

 

 

 

 

 

 

add ecx, d2

 

 

d1+w1+b1+d2

 

 

 

 

 

 

 

 

 

31

 

 

 

 

16

15

 

 

 

 

 

 

 

2

1

0

 

рег. ecx

зн

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ecx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15

 

 

 

 

 

 

 

2

1

0

 

w2

 

 

 

 

 

 

зн

 

 

 

 

 

w2

 

 

 

 

mov ax, w2

115

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