Машинные языки программирования
9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M6

 

 

 

 

M5

 

 

 

 

 

 

 

 

M1

 

0922

0923

0924

0925

0926

0927

0928

 

0929

092A

092B

092C

092D

092E

 

092F

0930

0931

 

 

0932

0933

0934

0935

0936

0937

0938

0939

093A

093B

093C

093D

093E

093F

0940

0941

0942

0943

0944

0945

0946

0947

 

C2

05

09

3A

02

08

B9

 

C2

05

09

22

00

0B

 

44

4D

0A

 

 

32

02

0B

16

08

1E

00

07

DA

3E

09

1C

15

C2

39

09

7B

32

03

0B

FF

5F

 

JNZ M4

 

 

LDA 0802

 

 

CMP C

 

JNZ M4

 

 

SHLD

0B00

 

 

MOV B,H

MOV C,L

LDAX B

 

 

STA 0B02

 

 

MVI D,08

 

MVI E,00

 

RLC

JC M5

 

 

INR E

DCR D

JNZ M6

 

 

MOV A,E

STA 0B03

 

 

RST 7

MOV E,A

 

if z=0,

then M4

 

(A) ←M(0802)

 

 

(A)-(C)

 

if z=0,

then M4

 

M(0B00) ←(L)

M(0B01) ←(H)

 

 

(B) ←(H)

(C) ←(L)

(A) ←[BC]

 

 

M(0B02) ←(A)

 

 

(D) ←08

 

(E) ←00

 

if c=1,

then M5

 

(E) ←(E)+1

(D) ←(D)-1

if z=0,

then M6

 

(A) ←(E)

M(0B03) ←(A)

 

 

------

(E) ←(A)

Загрузить содержимое M(0803) в  регистр (A)

Неразрушающее вычитание (A)-(B)

Перейти к метке M4(0905) если z=0

 

Загрузить содержимое M(0802) в  регистр (A)

Неразрушающее вычитание (A)-(C)

Перейти к метке M4(0905) если z=0

 

Загрузить содержимое (HL) в ячейки памяти, начиная с M(0B00)

Переслать (H) в (B)

Переслать (L) в (C)

Переслать содержимое из ячейки с адресом (BC) в (A)

Записать содержимое (A) в ячейку M(0B02)

Записать 08 в (D)

 

Записать 00 в (E)

 

Циклический сдвиг

Перейти к метке M5(093E) если c=1

 

Инкр. содерж. (E)

Декр. Содерж (D)

Перейти к метке M6(0939) если z=0