Запись программы в машинных кодах и ее выполнение. Основные принципы низкоуровневого программирования

Страницы работы

Содержание работы

Санкт-Петербургский Государственный Политехнический университет

Факультет Технической Кибернетики

Кафедра САиУ

Лабораторная работа №1 (вариант 5)

Архитектура ЭВМ и система команд.

Выполнил:

ст. гр.3082/1

Малания Г. Р.

Проверил:

Громов В.Н.

Санкт-Петербург 2007


Задание:

Записать приведенную ниже программу напрямую в ОЗУ, после чего пошагово произвести ее трассировку, отследить происходящие изменения и интерпретировать их в соответствии с исполняемым кодом.

Программа:

IR:=000016

IN

WR 8

DIV #4

WR @8

JMP 002

Ход работы:

В соответствии с приведенным кодом выполним следующие действия:

  1. В регистр IR занесем число 000016
  2. В ОЗУ ЭВМ, начиная с ячейки 000, занесем следующие значения, соответствующие машинным кодам исполняемой программы:

010000

220008

261004

222008

100002

  1. По результатам работы программы получили:

IN – перенести значение с регистра IR на регистр Acc

WR 8 – записать содержимое Acc в 008 ячейку ОЗУ

DIV #4 – разделить содержимое Acc на число 4, причем Acc примет значение 16/4=4, в регистр DR запишется число 4

WR @8 – записать содержимое Acc в ОЗУ по адресу, содержащемуся в 008 ячейке ОЗУ. Регистр RA принимает значение 16 (т.е. адрес, использованный при косвенной адресации)

JMP 002 – перейти на выполнение команды во 2-й ячейке ОЗУ (зацикливание)

DIV #4 – разделить содержимое Acc на число 4, причем Acc примет значение 4/4=, в регистр DR запишется число 4

WR @8 – записать содержимое Acc в ОЗУ по адресу, содержащемуся в 008 ячейке ОЗУ

JMP 002 – перейти на выполнение команды во 2-й ячейке ОЗУ (зацикливание)

DIV #4 – разделить содержимое Acc на число 4, причем Acc примет значение 1/4=, в регистр DR запишется число 0. Флаг Z примет значение 1.

WR @8 – записать содержимое Acc в ОЗУ по адресу, содержащемуся в 008 ячейке ОЗУ.

JMP 002 – перейти на выполнение команды во 2-й ячейке ОЗУ (зацикливание)

Во время выполнения программы регистры MDR & MAR содержат значение и адрес последней ячейки ОЗУ к которой был произведен доступ (чтение команды/данных или запись результата)

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

Похожие материалы

Информация о работе