- •Государственный университет путей сообщения
- •Программа курса.
- •Введение
- •Системы счисления
- •Формы представления чисел в машине.
- •Кодирование чисел в машине
- •Сложение чисел в машинах с фиксированной точкой
- •Библиографический список
- •Микропроцессоры. Особенности архитектуры
- •Управляющий блок
- •Программа
- •Типовая архитектура микропроцессорной системы
- •Выработка cu последова-
- •Выполнение операции
- •Программная модель микропроцессора Программная модель или регистровая структура.
- •Понятие о состоянии процессора (программы). Вектор слова состояния.
- •Старший байт адреса команды
- •Информационный обмен при выполнении команд различных типов
- •Признак «Чт» mem Rна шу
- •Передача адреса 0802н из рс на ша
- •Признак «Зп» mem w наШу
- •Библиографический список
- •Задание на контрольную работу
- •Вопросы к экзамену
- •Система команд простейшего мп
К
Признак
«Чт» MEM
R
на ШУ
Признак
«Чт» MEM
R
на ШУ
Прием
в RI
кода операции 3А Н Дешифрация
кода операции
РС: = РС + 1 Передача
адреса 0900Н из РС на ША
Передача
ст. байта адреса в RG
W
РС: = РС + 1
Признак
«Чт» MEM
R
на ШУ Передача
адреса 0901Н из РС на ША
Передача
мл.байта адреса в RG
Z (RGA)
:= (W,Z)
Передача
адреса из RGA
на ША Передача
адреса 0902Н из РС на ША
((0750Н))
:= (А)
РС: = РС + 1Признак «Зп» mem w наШу
Библиографический список
Коренев В.В., Киселев А.В. Современные микропроцессоры. М., «Нолидж». 1998.
Токхайм Р. Микропроцессоры. Курс и упражнения. М., Энегроатомиздат, 1988.
Юров В.А. Assembler. CПб, Питер, 2002.
Задание на контрольную работу
В контрольной работе необходимо по заданному варианту составить программу на языке Assembler для выполнения операции сложения двух чисел. Вариант задания определяется по последней цифре учебного шифра. Варианты заданий представлены в таблице 4.
В контрольной работе необходимо:
1.Заданные в десятичной системе счисления операнды перевести в 16-ричную систему счисления.
2. Составить машинно-ориентированный алгоритм выполнения операции сложения двух чисел.
3. Составить программу выполнения операции сложения двух чисел на языке Assembler с комментариями и указать способы адресации каждой команды
4. Сделать контрольный пример и определить содержимое регистра признаков.
Таблица 4
-
Вари-ант
1
Значения
операндов
2
Как заданы
операнды
3
С помощью каких команд происходит обмен
4
Куда и как записываются результаты
5
1
29
-52
Data
0800 Н
MVI B, data
MOV D,M
0A00 H
STAX rp
2
-34
-19
0750 H
data
LDAX BC
MVI M, data
0950 H
STA addr
3
-27
41
Data
Data
MVI B, data
MVI C, data
0800 H
MOV M, A
4
37
-52
0800 H
0900 H
MOV B, M
MOV C, M
0950 H
STAX rp
5
46
-19
Data
0900 H
MVI C, data
LDAX DE
0850 H
STA addr
6
54
27
0800 H
0900H
MOV C, M
LDAX DE
0850 H
STAX rp
7
36
-48
Data
Data
MVI B, data
MVI C, data
0840 H
MOV M, A
8
52
-17
0950H
0900 H
LDAX DE
MOV C, M
0980 H
STA addr
9
-23
18
0900H
data
MVI M,data
MVI C,data
0950H
STAX rp
10
43
-76
0920 H
0930 H
MOV R, M
LDAX DE
0980 H
MOV M, R
Пример. Написать программу сложения двух операндов, заданных следующим образом.
-
1
№/№
2
71
-47
3
0920 Н
Data
4
MOV C, M
MVI B, data
5
0970 H
STA addr
Операнд 71D задан в ячейке памяти с адресом 0920Н; операнд ( -47D) задается вторым байтом в коде команды. Для организации информационного обмена внутри процессора необходимо использовать команды из столбца 4. Результат необходимо отправить в ячейку памяти с адресом 0970Н, используя команду STA addr.
71D = 47Н; -47D = E1H.
Алгоритм выполнения операции выглядит следующим образом.
(H,L):=
0920H
((H,L)):=
47H
(B):=
E1H
(C):=
((H,L))
(A):=
(B)
(A):=
(A) + (C)
((0970H)):=
(A)
Пусть программа расположена в памяти с начального адреса 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В
= 00011000B = +24D
Содержимое регистра признаков:
0
0
0
0
0
1
1
1
(RS) = 07. Сравнить со значением в Приложении 2.