Кафедра «Информационные и вычислительные системы» 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Кафедра «Информационные и вычислительные системы»



Кафедра «Информационные и вычислительные системы»

Методические указания и варианты контрольных работ по курсу «Прикладное программирование и основы микропроцессорной техники»

для студентов специальностей АТ, АС, АР

заочной формы обучения

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


Содержание

Программа курса....... 2

Введение..........3

Системы счисления........4

Формы представления чисел в машине.....7

Кодирование чисел в машине.......8

Сложение чисел в машине с фиксированной точкой...9

Микропроцессоры, особенности архитектуры....11

Типовая архитектура микропроцессорной системы...14

Программная модель микропроцессора.....20

Понятие о состоянии процессора. Вектор слова состояния. 21

Система команд простейшего микропроцессора...22

Способы адресации........24

Информационный обмен при реализации команд

различных типов........ 26

Задание на контрольную работу..... 32

Вопросы к экзамену...... 37

Приложение 1.........38

Приложение 2.........42

Целью изучения данной дисциплины является знакомство студентов с архитектурой микропроцессоров и микропроцессорных систем и освоение программирования на языке АССЕМБЛЕР.

В результате изучения дисциплины студенты должны:

1. Иметь представление об архитектуре современных микропроцессоров и микропроцессорных систем.

2. Уметь составлять машинно-оринтированные алгоритмы задач.

3. Знать принципы реализации команд в микропроцессорной системе.

4. Уметь составлять программы на языке АССЕМБЛЕР.

 

Программа курса.

Машинная арифметика.

Системы счисления. Правила перевода чисел из оной системы счисления в другую. Формы представления чисел в ЭВМ. Кодирование чисел в машине. Сложение чисел с фиксированной точкой.

 

2. Микропроцессоры. Особенности архитектуры.

Понятия микропроцессора, микропроцессорной системы, микро-ЭВМ, архитектуры микропроцессора. Однокристальные и слайсовые микропроцессоры. Типовая архитектура микропроцессорной системы. Архитектура простейшего микропроцессора, назначение блоков. Обобщенный алгоритм выполнения команды.

3. Изучение системы команд микропроцессора.

Классификация системы команд по назначению, по способам адресации. Информационный обмен при выполнении команд различных типов.

 

4. Программирование на языке АССЕМБЛЕР.

Правила составления машинно-ориентированных алгоритмов. Понятие листинга программы. Составление простейших программ на языке АССЕМБЛЕР.

 

 

Введение

Интенсивное развитие технологий является следствием компьютеризации общества. В формируемом ежегодно в США группой экспертов перечне «критических технологий», охватывающем практически все направления производства, исследований и разработок, оказывающих влияние на военный и экономический статус страны, микроэлектронные технологии традиционно занимают первое место. Выпуск каждой новой модели микропроцессора связан с очередным научным, конструкторским, технологическим прорывом.

Универсальные микропроцессоры широко используются в вычислительных системах: персональных ЭВМ, рабочих станциях, в системах управления, работающих в реальном времени.

Одним из преимуществ микропроцессорных систем является их гибкость, т.к. логика их функционирования определяется программой, хранимой в оперативном или постоянном запоминающем устройстве.

Применение микропроцессорных комплектов в качестве элементной базы позволяет с успехом решать такую важную задачу как снижение стоимости разработки аппаратуры и ее серийного производства.

Для эффективного решения прикладных задач любой современный специалист, профессионально связанный с вычислительной техникой, должен иметь представление о состоянии и перспективах развития ее элементной базы.

Системы счисления

Системы счисления (СС) – это способ представления любого числа посредством некоторого алфавита, символы которого называются цифрами. Для определения любой СС необходимы две составляющие:

- цифры;

- правила их записи.

Все СС делятся на позиционные и непозиционные. В непозиционных СС применяется неограниченное количество цифр, значение цифры не зависит от ее позиции (местоположения) в числе. Примером такой СС является римская СС.

Позиционные СС.

Система счисления называется позиционной, если одна и та же цифра имеет различное значение, которое зависит от ее позиции в числе.

12 – 2 обозначает количество единиц.

21 – 2 обозначает количество десятков.

Любая позиционная системы счисления характеризуется основанием или базисом.

Основание (базис) позиционной СС – это количество знаков или символов, используемых для изображения числа в данной СС.

В ЭВМ используются позиционные СС с базисами 2,8,10,16 (соответственно двоичная, восьмеричная десятичная и шестнадцатеричная СС).

Правило перевода числа из одной СС в другую.

Чтобы перевести целое число из одной позиционной СС в другую, его надо последовательно делить на основание новой СС до тех пор, пока остаток не станет меньше делителя. Число в новой СС записывается из остатков от последовательного деления, причем последний остаток будет старшей цифрой нового числа.

 

Двоичная система счисления.

Основание – 2. Алфавит состоит из двух цифр – 0 и 1.

Чтобы перевести десятичное целое число в двоичную СС, его делят на основание СС (на 2) до тех пор, пока в остатке не останется 0 или 1.

9 2

8 4 2 9D = 1001B (D – признак десятичной СС;

1 4 2 2 В – признак двоичной СС)

0 2 1 старшая цифра

 

 

Перевод правильных дробей.

Для перевода правильных дробей необходимо исходную дробь умножить на основание СС до тех пор, пока в новой дроби не будет нужного количества цифр, которое определяется требуемой точностью вычислений.

0.375 D В 0.375D = 0.011В

0. 375

х 2

0. 750

х 2

1. 500

х 2

1. 000

В любой позиционной СС число может быть представлено в виде полинома:

А(q) = an-1qn-1 + … + a1q1 +a0q0 + a-1q-1 + … + a-mq-m

где q – основание (базис) СС (целое положительное число);

ai - разрядный коэффициент;

n,m – количество целых и дробных разрядов (веса целых и дробных

разрядов).

Пример.

243, 65D = 2х102 + 4х101 + 3х100 + 6х10-1 + 5х10-2

Для двоичной СС полиномиальное представление числа аналогично.

 

1011,1011В = 1х23 + 0х22 + 1х21 + 1х20 + 1х2-1 + 0х2-2 + 1х2-3 + 1х2-4

8 + 0 + 2 + 1 + 0.5 + 0 + 0.125 + 0.065

При переводе смешанного числа целая и дробная части переводятся по отдельности.

 

Кодирование чисел в машине

 

Таблица двоичного сложения.

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 0 = 1 – единица переноса в старший разряд

 

Таблица двоичного вычитания.

0 – 0 = 0

1 – 0 = 1

1 – 1 = 0

0 – 1 = 1 1 – заем единицы из старшего разряда

 

Для кодирования чисел в ЭВМ применяются прямые, обратные и дополнительные коды.

Прямой код числа образуется, если знак числа кодируется нулем (плюс) или единицей (минус), а цифровая (значащая) часть остается без изменений.

+ 8 = 0.1000

- 8 = 1.1000

Для получения обратного кода отрицательного числа знаковый разряд остается без изменений, во всех остальных разрядах (в значащей части) цифры заменяются на взаимно обратные (0 заменяется на 1 и наоборот).

- 17D = 1 10001B = 1.10001B – прямой код

1.01110B – обратный код

Для получения дополнительного кода отрицательного числа сначала строится обратный код, затем к младшему разряду прибавляется единица.

- 17D = 1.10001B – прямой код

1.01110B – обратный код

1.01111B – дополнительный код

Для получения прямого кода из дополнительного возможны два варианта:

1. из исходного кода вычесть 1 из младшего разряда, затем проинвертировать все разряды, кроме знакового.

2. проинвертировать все разряды, кроме знакового, затем прибавить 1 к младшему разряду.

Запомнить правило:

Для положительных целых чисел прямой, обратный и дополнительный коды совпадают.

 

 

Библиографический список

1. Савельев А.Я. Арифметические и логические основы цифровых автоматов. М., Высшая школа, 1980.

2. Лысиков Б.Г. Арифметические и логические основы ЭЦВМ. Вышейшая школа, Минск, 1974.

3. Каган Б.М. ЭВМ и системы. М., Энергия, 1993.

 

Структура и формат команды.

Однобайтные команды.

MOV R1, R2. Конкретно MOV B,C. Пусть команда расположена в памяти по адресу 0900Н. Машинный код команды – 41Н.

Алгоритм выполнения команды имеет вид:

 

 
 


РС: = РС + 1
Пересылка B: = С
Дешифрация кода операции
 
Прием в RI кода операции 41Н
Признак «ЧТ» MEM R на шину управления
Передача адреса 0900Н из РС на шину адреса
Пересылка происходит по внутренней шине данных

 

 

Команда MOV M, R. Конкретно MOV M,A Передача информации из аккумулятора в ячейку памяти М. Команда с косвенной адресацией. В момент выполнения этой команды адрес ячейки М хранится в регистровой паре H,L. Адрес команды 08000Н. Адрес ячейки 0950Н. Машинный код команды – 77Н.

РС: = РС + 1
  ((H,L)): = (А)
Признак «Зп» MEM W на шину управления
Передача адреса 0800Н из РС на шину адреса
Передача адреса из (H,L) на шину адреса
Дешифрация кода операции
Прием в RI кода операции 77Н
Признак «Чт» MEM R на шину управления

 

 


Двухбайтные команды.

Команда MVI R, data. Конкретно MVI B, 08Н.

Команда занимает в памяти два соседних байта. Начальный адрес – 0700Н. Машинный код команды – 06Н.

РС: = РС + 1
РС: = РС + 1
Передача data = 08Н на ШД и в RB
Признак «Чт» MEM R на ШУ
Передача адреса из РС на ША
Дешифрация кода операции
Прием в RI кода операции 06Н
Признак «Чт» MEM R на ШУ
Передача адреса из РС на ША

 

 

Команда MVI M data. Конкретно MVI M 0ЕН. Записать в ячейку памяти, адрес которой хранится в паре (H,L), число 0ЕН. Команда занимает в памяти два байта. Начальный адрес команды 0700Н. Машинный код – 36Н. Адрес ячейки М – 0950Н.

 

РС: = РС +1
Запись числа 0ЕН в ячейку М
Признак «Зп» MEM W на ШУ
Передача адреса из (H,L) на ША
Передача 0ЕН на внешнюю ШД
Признак «Чт» MEM R на ШУ
Передача адреса 0701Н на ША
РС: = РС +1  
Дешифрация кода операции
Прием в RI кода операции 36Н
Признак «Чт» MEM R на ШУ
Передача адреса 0700 из РС на ША

 

 

Трехбайтные команды.

Команда LXI rp data. Конкретно LXI D 0900H. Занести в регистровую пару DE адрес 0900Н. Команда занимает в памяти три байта. Начальный адрес команды 0800Н. Машинный код – 11Н.

 
 


Передача адреса 0802Н из РС на ША
Признак «Чт» MEM R на ШУ
РС: + РС =1
Передача ст. байта адреса в R W
Признак «Чт» MEM R на ШУ
РС: = РС +1
Дешифрация кода операции
Прием в RI кода операции 11Н
Признак «Чт» MEM R на ШУ
Передача адреса 0800Н из РС на ША

 

       
   
 

 

 


РС: = РС + 1

 
 

 


РС: = РС + 1
((0750Н)):= (А)
Признак «Зп» MEM W на ШУ
Передача адреса из RGA на ША
(RGA):= (W,Z)
Передача мл.байта адреса в RG Z
Признак «Чт» MEM R на ШУ
Передача адреса 0902Н из РС на ША
РС: = РС + 1
Передача ст. байта адреса в RG W
Признак «Чт» MEM R на ШУ
Передача адреса 0901Н из РС на ША
Передача адреса 0900Н из РС на ША
РС: = РС + 1
Дешифрация кода операции
Прием в RI кода операции 3А Н
Признак «Чт» MEM R на ШУ
Команда LDA addr. Конкретно LDA 0750Н. Переслать содержимое аккумулятора в ячейку с адресом 0750Н. Команда занимает в памяти три байта. Начальный адрес команды 0900Н. Машинный код – 3АН.

 

Библиографический список

1. Коренев В.В., Киселев А.В. Современные микропроцессоры. М., «Нолидж». 1998.

2. Токхайм Р. Микропроцессоры. Курс и упражнения. М., Энегроатомиздат, 1988.

3. Юров В.А. Assembler. CПб, Питер, 2002.

 

Задание на контрольную работу

 

В контрольной работе необходимо по заданному варианту составить программу на языке Assembler для выполнения операции сложения двух чисел. Вариант задания определяется по последней цифре учебного шифра. Варианты заданий представлены в таблице 4.

В контрольной работе необходимо:

1.Заданные в десятичной системе счисления операнды перевести в 16-ричную систему счисления.

2. Составить машинно-ориентированный алгоритм выполнения операции сложения двух чисел.

3. Составить программу выполнения операции сложения двух чисел на языке Assembler с комментариями и указать способы адресации каждой команды

4. Сделать контрольный пример и определить содержимое регистра признаков.

 

Таблица 4

Вари-ант Значения операндов Как заданы операнды С помощью каких команд происходит обмен Куда и как записываются результаты
  -52 Data 0800 Н MVI B, data MOV D,M 0A00 H STAX rp
  -34 -19 0750 H data LDAX BC MVI M, data 0950 H STA addr
  -27 Data Data MVI B, data MVI C, data 0800 H MOV M, A
  -52 0800 H 0900 H MOV B, M MOV C, M 0950 H STAX rp
  -19 Data 0900 H MVI C, data LDAX DE 0850 H STA addr
    0800 H 0900H MOV C, M LDAX DE 0850 H STAX rp
  -48 Data Data MVI B, data MVI C, data 0840 H MOV M, A
  -17 0950H 0900 H LDAX DE MOV C, M 0980 H STA addr
  -23 0900H data MVI M,data MVI C,data 0950H STAX rp
  -76 0920 H 0930 H MOV R, M LDAX DE 0980 H MOV M, R

 

 

Пример. Написать программу сложения двух операндов, заданных следующим образом.

 

1   №/№   -47   0920 Н Data   MOV C, M MVI B, data   0970 H STA addr

 

 

Операнд 71D задан в ячейке памяти с адресом 0920Н; операнд (-47D) задается вторым байтом в коде команды. Для организации информационного обмена внутри процессора необходимо использовать команды из столбца 4. Результат необходимо отправить в ячейку памяти с адресом 0970Н, используя команду STA addr.

1. 71D = 47Н; -47D = E1H.

2. Алгоритм выполнения операции выглядит следующим образом.

 

 


Пусть программа расположена в памяти с начального адреса 0800Н. Программа на языке Assembler имеет вид:

 

Адрес мнемоника комментарий
0800H 0801H 0802Н LXI H 0920H Записать в регистровую пару H,L адрес 0920Н. Команда с непосредственной адресацией по приемнику информации, с регистровой адресацией по приемнику информации.
0803Н 0804Н MVI M,47H Записать в ячейку памяти с адресом 0920Н число 47Н. Команда с непосредственной адресацией по источнику информации, с косвенной адресацией по приемнику информации.
0805Н 0806Н MVI B, E1H Записать в регистр В число Е3Н. Команда с непосредственной адресацией по источнику информации, с косвенной адресацией по приемнику информации.
0807Н MOV C, M Переслать в регистр С число из ячейки с адресом 0920Н. Команда с косвенной адресацией.
0808Н MOV A,B Переслать в аккумулятор содержимое регистра В. Команда с регистровой адресацией.
0809Н ADD C Сложить содержимое аккумулятора с содержимым регистра С. Результат оставить в аккумуляторе. Команда с регистровой адресацией по источнику информации, с неявной адресацией по приемнику.
080АН 080ВН 080СН STA 0970H Переслать результат в ячейку памяти с адресом 0970Н. Команда с прямой адресацией.
080DH NOP Пустая команда. Конец программы.

 

 

Контрольный пример.

+71D = 01000111В

-47D = 11010001В

S = 00011000B = +24D

Содержимое регистра признаков:

 

 
 

 

 


(RS) = 07. Сравнить со значением в Приложении 2.

 

 

Вопросы к экзамену

 

 

1. Представление чисел в ЭВМ. Системы счисления (СС).

2. Полиномиальное представление числа в позиционной системе счисления. Вес разряда. Используемые в ЭВМ СС.

3. Перевод целых чисел из одной СС в другую.

4. Перевод правильных дробей из одной СС в другую.

5. Перевод 8-ричных и 16-ричных чисел в двоичную СС. Обратные преобразования.

6. Формы представления чисел в машине (числа с плавающей и с фиксированной точкой).

7. Кодирование чисел в машине. Прямой, обратный и дополнительный коды.

8. Сложение чисел в машинах с фиксированной точкой. Переполнение разрядной сетки.

9. Обобщенная архитектура микропроцессорной системы. Назначение устройств (CPU, ROM, RAM, ШД, ША, ШУ).

10. Обобщенная архитектура микропроцессора. Назначение функциональных блоков.

11. Обобщенный алгоритм выполнения команды.

12. Система команд МП 8080. Классификация команд по назначению.

13. Структура команды. Формат команды.

14. Способы адресации. Классификация команд по типу адресации.

15. Команды передачи управления.

16. Понятие подпрограммы. Использование команд CALL и RET для организации подпрограмм.

17. Типы программ. Линейные и разветвляющиеся программы.

18. Циклические программы. Способы организации счетчика циклов.

19. Программная модель МП. Слово состояния процессора.

20. Информационный обмен при реализации команд различных типов:

Кафедра «Информационные и вычислительные системы»

Методические указания и варианты контрольных работ по курсу «Прикладное программирование и основы микропроцессорной техники»

для студентов специальностей АТ, АС, АР

заочной формы обучения

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


Содержание

Программа курса....... 2

Введение..........3

Системы счисления........4

Формы представления чисел в машине.....7

Кодирование чисел в машине.......8

Сложение чисел в машине с фиксированной точкой...9

Микропроцессоры, особенности архитектуры....11

Типовая архитектура микропроцессорной системы...14

Программная модель микропроцессора.....20

Понятие о состоянии процессора. Вектор слова состояния. 21

Система команд простейшего микропроцессора...22

Способы адресации........24

Информационный обмен при реализации команд

различных типов........ 26

Задание на контрольную работу..... 32

Вопросы к экзамену...... 37

Приложение 1.........38

Приложение 2.........42

Целью изучения данной дисциплины является знакомство студентов с архитектурой микропроцессоров и микропроцессорных систем и освоение программирования на языке АССЕМБЛЕР.

В результате изучения дисциплины студенты должны:

1. Иметь представление об архитектуре современных микропроцессоров и микропроцессорных систем.

2. Уметь составлять машинно-оринтированные алгоритмы задач.

3. Знать принципы реализации команд в микропроцессорной системе.

4. Уметь составлять программы на языке АССЕМБЛЕР.

 

Программа курса.

Машинная арифметика.

Системы счисления. Правила перевода чисел из оной системы счисления в другую. Формы представления чисел в ЭВМ. Кодирование чисел в машине. Сложение чисел с фиксированной точкой.

 

2. Микропроцессоры. Особенности архитектуры.

Понятия микропроцессора, микропроцессорной системы, микро-ЭВМ, архитектуры микропроцессора. Однокристальные и слайсовые микропроцессоры. Типовая архитектура микропроцессорной системы. Архитектура простейшего микропроцессора, назначение блоков. Обобщенный алгоритм выполнения команды.

3. Изучение системы команд микропроцессора.

Классификация системы команд по назначению, по способам адресации. Информационный обмен при выполнении команд различных типов.

 

4. Программирование на языке АССЕМБЛЕР.

Правила составления машинно-ориентированных алгоритмов. Понятие листинга программы. Составление простейших программ на языке АССЕМБЛЕР.

 

 

Введение

Интенсивное развитие технологий является следствием компьютеризации общества. В формируемом ежегодно в США группой экспертов перечне «критических технологий», охватывающем практически все направления производства, исследований и разработок, оказывающих влияние на военный и экономический статус страны, микроэлектронные технологии традиционно занимают первое место. Выпуск каждой новой модели микропроцессора связан с очередным научным, конструкторским, технологическим прорывом.

Универсальные микропроцессоры широко используются в вычислительных системах: персональных ЭВМ, рабочих станциях, в системах управления, работающих в реальном времени.

Одним из преимуществ микропроцессорных систем является их гибкость, т.к. логика их функционирования определяется программой, хранимой в оперативном или постоянном запоминающем устройстве.

Применение микропроцессорных комплектов в качестве элементной базы позволяет с успехом решать такую важную задачу как снижение стоимости разработки аппаратуры и ее серийного производства.

Для эффективного решения прикладных задач любой современный специалист, профессионально связанный с вычислительной техникой, должен иметь представление о состоянии и перспективах развития ее элементной базы.

Системы счисления

Системы счисления (СС) – это способ представления любого числа посредством некоторого алфавита, символы которого называются цифрами. Для определения любой СС необходимы две составляющие:

- цифры;

- правила их записи.

Все СС делятся на позиционные и непозиционные. В непозиционных СС применяется неограниченное количество цифр, значение цифры не зависит от ее позиции (местоположения) в числе. Примером такой СС является римская СС.

Позиционные СС.

Система счисления называется позиционной, если одна и та же цифра имеет различное значение, которое зависит от ее позиции в числе.

12 – 2 обозначает количество единиц.

21 – 2 обозначает количество десятков.

Любая позиционная системы счисления характеризуется основанием или базисом.

Основание (базис) позиционной СС – это количество знаков или символов, используемых для изображения числа в данной СС.

В ЭВМ используются позиционные СС с базисами 2,8,10,16 (соответственно двоичная, восьмеричная десятичная и шестнадцатеричная СС).

Правило перевода числа из одной СС в другую.

Чтобы перевести целое число из одной позиционной СС в другую, его надо последовательно делить на основание новой СС до тех пор, пока остаток не станет меньше делителя. Число в новой СС записывается из остатков от последовательного деления, причем последний остаток будет старшей цифрой нового числа.

 

Двоичная система счисления.

Основание – 2. Алфавит состоит из двух цифр – 0 и 1.

Чтобы перевести десятичное целое число в двоичную СС, его делят на основание СС (на 2) до тех пор, пока в остатке не останется 0 или 1.

9 2

8 4 2 9D = 1001B (D – признак десятичной СС;

1 4 2 2 В – признак двоичной СС)

0 2 1 старшая цифра

 

 

Перевод правильных дробей.

Для перевода правильных дробей необходимо исходную дробь умножить на основание СС до тех пор, пока в новой дроби не будет нужного количества цифр, которое определяется требуемой точностью вычислений.

0.375 D В 0.375D = 0.011В

0. 375

х 2

0. 750

х 2

1. 500

х 2

1. 000

В любой позиционной СС число может быть представлено в виде полинома:

А(q) = an-1qn-1 + … + a1q1 +a0q0 + a-1q-1 + … + a-mq-m

где q – основание (базис) СС (целое положительное число);

ai - разрядный коэффициент;

n,m – количество целых и дробных разрядов (веса целых и дробных

разрядов).

Пример.

243, 65D = 2х102 + 4х101 + 3х100 + 6х10-1 + 5х10-2

Для двоичной СС полиномиальное представление числа аналогично.

 

1011,1011В = 1х23 + 0х22 + 1х21 + 1х20 + 1х2-1 + 0х2-2 + 1х2-3 + 1х2-4

8 + 0 + 2 + 1 + 0.5 + 0 + 0.125 + 0.065

При переводе смешанного числа целая и дробная части переводятся по отдельности.

 



Поделиться:


Последнее изменение этой страницы: 2016-12-27; просмотров: 168; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.15.229.113 (0.227 с.)