42257

Микропрограммирование кмашинных манд СМ ЭВМ

Лабораторная работа

Информатика, кибернетика и программирование

Знакомство с принципами микропрограммной эмуляции ЭВМ с программным управлением, микропрограммирование машинных команд СМ ЭВМ.

Русский

2014-12-28

72 KB

0 чел.

Министерство образования Российской Федерации

Владимирский государственный университет

Кафедра информатики и вычислительной техники

Отчет по лабораторной работе

Микропрограммирование команд СМ ЭВМ

Выполнил ст. гр. ИВТ-197

Мансур Б.А.

Принял: доц. Буланкин В.Б.

Владимир 2000


Цель работы:  знакомство с принципами микропрограммной эмуляции ЭВМ с программным управлением, микропрограммирование машинных команд СМ ЭВМ.

Задание

Вариант № 8.9.

Определить количество нулей в коде числа.

Составление программы

Текст программы решения поставленной задачи приведен в табл. 1. Исходное число загружается в регистр R4; его сдвинутое значение загружается в R2  В  регистре R1 загружается  число 16 , количество нулей  будет записано в регистр R3.

Программа располагается в оперативной памяти начиная с адреса #0000.

Таблица 1.

Программа на языке ассемблера

Машинный код

MOV   #16,R1

012701

000020

MOV   #32,R4

012704

007364

MOV   R4,R2

010402

MOV   #0,R3

012703

000000

ASL   R2

006302

CMP   R2,#0

020227

000000

BCS      

103402

INC   R3

005203

DEC  R1

005301

CMP   R1,#0

020127

000000

BEQ   exit

001402

BR     

000767

Exit:    HALT

000000

Микропрограммирование операций

 Микропрограммы выборки команды и выполнения машинных команд СМ ЭВМ необходимых для решения поставленной задачи приведены в табл. 2.

Таблица 2.  Микропрограммы операций

Операция

Адрес МК

Поле

Значение

Функция

Выборка команды

0000

A

0

B

7

R7

SRC

4

R:  DA;   S:  RGB

ALU

3

R + S + C0

DST

0

Запись в РЗУ

CCX

0

C0 = 0

DBA

1

AOP = DB

CONST

2

0001

A

0

B

F

RF

R

1

Чтение ОП

DST

4

РЗУ = RGR

CHA

2

JMAP

MOV

0002

MA

1

MB

2

SRC

0

R:  RGA;   S:  RGB

ALU

6

R + C0

DST

0

Запись в РЗУ

CHA

0

JZ

MOV

0003

A

0

B

7

R7

SRC

4

R:  DA;   S:  RGB

ALU

3

R + S + C0

DST

0

Запись в РЗУ

CCX

0

C0 = 0

DBA

1

AOP = DB

CONST

2

0004

MB

2

R

1

Чтение ОП

DST

4

РЗУ = RGR

CHA

0

JZ

CMP

0005

A

0

B

7

R7

SRC

4

R:  DA;   S:  RGB

ALU

3

R + S + C0

DST

0

Запись в РЗУ

CCX

0

C0 = 0

DBA

1

AOP = DB

CONST

2

0006

MA

1

R

1

Чтение ОП

SRC

2

R:  RGA;   S:  DB

ALU

2

R - S - 1 + C0

DST

6

Без записи

CCX

1

C0 = 1

F

1

Запись в RFD

CHA

0

JZ

CMP

0007

MB

1

DBA

1

AOP = DB

SRC

4

R:  DA;   S:  RGB

ALU

3

R + S + C0

DST

0

Запись в РЗУ

CCX

0

C0 = 0

CONST

2

0008

B

A

RA

R

1

Чтение ОП

DST

4

РЗУ = RGR

0009

MB

2

DBA

1

AOP = DB

SRC

4

R:  DA;   S:  RGB

ALU

3

R + S + C0

DST

0

Запись в РЗУ

CCX

0

C0 = 0

CONST

2

000A

A

A

RA

R

1

Чтение ОП

SRC

2

R:  RGA;   S:  DB

ALU

2

R - S - 1 + C0

DST

6

Без записи

CCX

1

C0 = 1

F

1

Запись в RFD

CHA

0

JZ

INC

000D

MB

2

SRC

0

R:  RGA;   S:  RGB

ALU

4

S + C0

DST

0

Запись в РЗУ

CCX

1

C0 = 1

CHA

0

JZ

INC

000E

MB

2

DBA

1

AOP = DB

DST

6

Без записи

000F

B

A

RA

R

1

Чтение ОП

SRC

2

R:  RGA;   S:  DB

ALU

4

S + C0

DST

0

Запись в РЗУ

CCX

1

C0 = 1

0010

A

A

RA

W

1

Запись в ОП

SRC

0

R:  RGA;   S:  RGB

ALU

6

R + C0

DST

2

RGW = SDA

CCX

0

C0 = 0

CHA

0

JZ

DEC

0011

MB

2

SRC

4

R:  DA;   S:  RGB

ALU

1

S – R – 1 + C0

DST

0

Запись в РЗУ

CCX

0

C0 = 0

F

1

Запись в RFD

CONST

0

CHA

0

JZ

ASL

0012

MB

2

SRC

0

R:  RGA;   S:  RGB

ALU

4

S + C0

DST

0

Запись в РЗУ

CCX

0

C0 = 0

SH

8

Арифметический сдвиг влево

CHA

0

JZ

BEQ

0015

B

F

RF

SRC

0

R:  RGA;   S:  RGB

ALU

4

S + C0

DST

0

Запись в РЗУ

CCX

0

C0 = 0

SH

E

Расширение знака

JFI

2

Использование RFD

CC

1

Z

CHA

3

Условный переход

CONST

001A

0016

CHA

0

JZ

BR

17

B

F

RF

SRC

0

R:  RGA;   S:  RGB

ALU

4

S + C0

DST

0

Запись в РЗУ

CCX

0

C0 = 0

SH

E

Расширение знака

JFI

4

Безусловный переход

CHA

3

CONST

001A

CHA

3

Условный переход

CONST

001A

0019

CHA

0

JZ

001A

B

F

RF

SRC

4

R:  DA;   S:  RGB

ALU

1

S – R – 1 + C0

DST

0

Запись в РЗУ

CCX

0

C0 = 0

SH

9

Логический сдвиг влево

CONST

0

001B

A

F

RF

B

7

R7

SRC

0

R:  RGA;   S:  RGB

ALU

3

R + S + C0

DST

0

Запись в РЗУ

CCX

0

C0 = 0

CHA

0

JZ

HALT

001C

JFI

5

STOP

Таблица преобразования адресов

 Составляем таблицу преобразования адресов (табл. 3), устанавливая соответствие между кодами операций машинных команд СМ ЭВМ и адресами соответствующих микропрограмм.

Таблица 3. Преобразование адресов

Команда

Код команды

Код операции

Адрес микропрограммы

MOV   #16,R1

012701

012700

03

MOV   #32,R4

012704

012700

03

MOV   R4,R2

010402

010400

02

MOV   #0,R3

012703

012700

03

ASL   R2

006302

006300

12

CMP    R2,#0

020227

020220

05

BСS

103407

103400

18

INC   R1

005201

005200

0D

DEC  R3

005303

005300

11

CMP  R1,#0

020127

020120

05

BEQ  exit

001401

001400

15

BR     

000769

000760

17

HALT

000000

000000

1C