Лабораторные программы выполняются в режиме А. После выбора режима появится экран эмулятора.
4. В программный счетчик (РС) необходимо занести начальный адрес области памяти, в которой размещена программа. Для размещения программы в выбранной области памяти необходима работа со следующими меню: LOAL – PROGRAMM и ввести имя файла с расширением HEX. На экране появится текст программы.
5. С помощью меню DUMP настраиваются окна фрагментов памяти. После набора команды DUMP необходимо выбрать номер окна (1 или 2) , задать тип адресации (ABSOLUT) и задать начальный адрес фрагмента. Затем через последовательность меню SET – MEMORY MAP - RANDOM ACCESS настраивается карта памяти.
Программу необходимо просмотреть в пошаговом режиме (F10 – один шаг вперед; F9- один шаг назад).
Ниже приводится краткий перечень необходимых «горячих» клавиш:
создать файл – Shift F6;
сохранить - F2;
просмотреть – F4;
копировать – F5;
Содержание отчета.
Титульный лист, оформленный по правилам оформления текстовой документации.
Индивидуальный вариант задания.
Машинно-ориентированный алгоритм выполнения программы.
Листинг программы по следующей форме:
Адрес команды |
Машинный код |
Мнемоника |
Типы адресации |
5. Контрольный пример. 6. Содержимое регистра признаков.
|
|||
Коренев В.В., Киселев А.В. Современные микропроцессоры. М., «Нолидж». 1998.
Токхайм Р. Микропроцессоры. Курс и упражнения. М., Энегроатомиздат, 1988.
Юров В.А. Assembler. CПб, Питер, 2002.
Приложение 1
Г
|
Маш. код В или Н |
Мнемоника команды |
Описание команды |
длина |
|
|||||||
байты |
такты |
|
||||||||||
|
|
01.r1 .r2 |
MOV r1,r2 |
(r1)<-(r2) |
1 |
5 |
|
|||||
|
|
0111 0.r. |
MOV M,r |
((H,L))<-(r) |
1 |
7 |
|
|||||
|
п |
01.r .110 |
MOV r,M |
(r)<-((H,L)) |
1 |
7 |
|
|||||
к |
е |
00.r .110 |
MVI r,data |
(r)<-data |
2 |
7 |
|
|||||
о |
р |
3 6 |
MVI M,data |
((H,L))<-data |
2 |
10 |
|
|||||
м |
е |
00rp 0001 |
LXI rp,data |
(rp)<-data |
3 |
10 |
|
|||||
а |
с |
3 A |
LDA addr |
(A)<-((addr)) |
3 |
13 |
|
|||||
н |
ы |
3 2 |
STA addr |
((addr))<-(A) |
3 |
13 |
|
|||||
д |
л |
2 A |
LHLD addr |
L<-(addr),H<-(addr+1) |
3 |
16 |
|
|||||
ы |
о |
2 2 |
SHLD addr |
(addr)<-L,(addr+1)<-H |
3 |
16 |
|
|||||
|
к |
00r2 1010 |
LDAX rp |
A<-((rp)) |
1 |
7 |
|
|||||
|
|
00rp 0010 |
STAX rp |
((rp))<-A |
1 |
7 |
|
|||||
|
|
E В |
XCHG |
(H)<->(D),(L)<->(E) |
1 |
4 |
|
|||||
|
|
1000 0.r. |
ADD r |
(A)<-(A)+(r) |
1 |
4 |
|
|||||
|
|
8 6 |
ADD M |
(A)<-(A)+((H,L)) |
1 |
7 |
|
|||||
|
|
C 6 |
ADI data |
(A)<-(A)+data |
2 |
7 |
|
|||||
а |
|
1000 1.r. |
ADC r |
(A)<-(A)+(r)+(C) |
1 |
4 |
|
|||||
р |
|
8 E |
A |
(A)<-(A)+(M)+(C) |
1 |
7 |
|
|||||
и |
|
C E |
ACI data |
(A)<-(A)+data+(C) |
2 |
7 |
|
|||||
ф |
|
00rp 1001 |
DAD rp |
(H,L)<-(H,L)+(rp) |
1 |
10 |
|
|||||
м |
к |
1001 0.r. |
SUB r |
(A)<-(A)-(r) |
1 |
4 |
|
|||||
е |
о |
9 6 |
SUB M |
(A)<-(A)-(M) |
1 |
7 |
|
|||||
т |
м |
D 6 |
SUI data |
(A)<-(A)-data |
2 |
7 |
|
|||||
и |
а |
1001 1.r. |
SBB r |
(A)<-(A)-(r)-(C) |
1 |
4 |
|
|||||
ч |
н |
9 E |
SBB M |
(A)<-(A)-(M)-(C) |
1 |
7 |
|
|||||
е |
д |
D E |
SBI data |
(A)<-(A)-data-(C) |
2 |
7 |
|
|||||
с |
ы |
00.r .100 |
INR r |
(r)<-(r)+1 |
1 |
5 |
|
|||||
к |
|
3 4 |
INR M |
((H,L))<-((H,L))+1 |
1 |
10 |
|
|||||
и |
|
00rp 0011 |
INX rp |
(rp)<-(rp)+1 |
1 |
5 |
|
|||||
е |
|
00.r .101 |
DCR r |
(r)<-(r)-1 |
1 |
5 |
|
|||||
|
|
3 5 |
DCR M |
((H,L))<-((H,L))-1 |
1 |
10 |
|
|||||
|
|
00rp 1011 |
DCX rp |
(rp)<-(rp)-1 |
1 |
5 |
|
|||||
|
|
2 7 |
DAA |
Десятичная коррекция |
1 |
4 |
|
|||||
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
||||||
|
|
1010 0.r. |
ANA r |
(A)<-(A)&(r) |
1 |
4 |
|
|||||
|
|
A 6 |
ANA M |
(A)<-(A)&((H,L)) |
1 |
7 |
|
|||||
|
|
E 6 |
ANI data |
(A)<-(A)&data |
2 |
7 |
|
|||||
|
|
1010 1.r. |
XRA r |
(A)<-(A)+mod2 (r) |
1 |
4 |
|
|||||
|
|
A E |
XRA M |
(A)<-(A)+mod2 ((H,L)) |
1 |
7 |
|
|||||
л |
|
E E |
XRI data |
(A)<-(A)+mod2 data |
2 |
7 |
|
|||||
о |
|
1011 0.r. |
ORA r |
(A)<-(A)\ /(r) |
1 |
4 |
|
|||||
г |
к |
B 6 |
ORA M |
(A)<-(A)\ /((H,L)) |
1 |
7 |
|
|||||
и |
о |
F 6 |
ORI data |
(A)<-(A)\ /data |
2 |
7 |
|
|||||
ч |
м |
1011 1.r. |
CMP r |
(A)?=(r) (сравнение) |
1 |
4 |
|
|||||
е |
а |
B E |
CMP M |
(A)?=((H,L)) |
1 |
7 |
|
|||||
с |
н |
F E |
CPI data |
(A)?=data |
2 |
7 |
|
|||||
к |
д |
0 7 |
RLC |
(An+1)<-(An), |
1 |
4 |
|
|||||
и |
ы |
|
|
(A0)<-(A7), (C)<-(A7) |
|
|
|
|||||
е |
|
0 F |
RRC |
(An)<-(An+1), |
1 |
4 |
|
|||||
|
|
|
|
(A7)<-(A0), (C)<-(A0) |
|
|
|
|||||
|
|
1 7 |
RAL |
(An+1)<-(An), |
1 |
4 |
|
|||||
|
|
|
|
(C)<-(A7), (A0)<-(C) |
|
|
|
|||||
|
|
1 F |
RAR |
(An)<-(An+1), |
1 |
4 |
|
|||||
|
|
|
|
(C)<-(A0), (A7)<-(C) |
|
|
|
|||||
|
|
2 F |
CMA |
(A)<-(A) инверсия (A) |
1 |
4 |
|
|||||
|
|
3 F |
CMC |
(C)<-(C) инверсия (С) |
1 |
4 |
|
|||||
|
|
3 7 |
STC |
(С)=1 |
1 |
4 |
|
|||||
|
|
С 3 |
JMP addr |
(PC)<-(addr) |
3 |
10 |
|
|||||
|
|
11.c .010 |
Jcond addr |
(PC)<-(addr), при вы- |
3 |
10 |
|
|||||
|
у |
|
|
полнении условия cond |
|
|
|
|||||
п |
п |
C D |
CALL addr |
(PC)<-(addr), |
3 |
17 |
|
|||||
е |
р |
|
|
((SP)-1)<-(PCh), |
|
|
|
|||||
р |
а |
|
|
((SP)-2)<-(PC1),(SP)-2 |
|
|
|
|||||
е |
в |
11.c .100 |
Ccond addr |
вызов подпрограммы при |
3 |
11/17 |
|
|||||
д |
л |
|
|
выполнении условия |
|
|
|
|||||
а |
е |
C 9 |
RET |
Возврат из п.п. |
1 |
10 |
|
|||||
ч |
н |
|
|
(PC1)<-((SP)), |
|
|
|
|||||
и |
и |
|
|
(PCh)<-((SP)+1),(SP)+2 |
|
|
|
|||||
|
я |
11.c .000 |
Rcond |
Возврат при условии |
1 |
5/11 |
|
|||||
|
|
E 9 |
PCHL |
(PC)<-(H,L) |
1 |
5 |
|
|||||
|
|
11.n .111 |
RST n |
Запуск c адреса 8*(n) |
1 |
11 |
|
|||||
|
|
|
|
|
|
|
|
|||||
|
|
D B |
IN port |
(A)<-(port) |
2 |
10 |
|
|||||
в |
с |
D 3 |
OUT port |
(port)<-(A) |
2 |
10 |
|
|||||
в |
т |
11rp 0101 |
PUSH rp |
((SP))<-(rp),(SP)-2 |
1 |
11 |
|
|||||
о |
е |
F 5 |
PUSH PSW |
((SP)-1)<-(A), |
1 |
11 |
|
|||||
д |
к |
|
|
((SP)-2)<-(F),(SP)-2 |
|
|
|
|||||
|
|
11rp 0001 |
POP rp |
(rp)<-((SP))-(SP)+2 |
1 |
10 |
|
|||||
|
|
F 1 |
POP PSW |
(F)<-((SP)), |
1 |
10 |
|
|||||
|
|
|
|
(A)<-((SP)+1),(SP)+2 |
|
|
|
|||||
|
|
E 3 |
XTHL |
(L)<->((SP)), |
1 |
19 |
|
|||||
|
|
|
|
(H)<->((SP)+1) |
|
|
|
|||||
в |
у |
F 9 |
SPHL |
(SP)<-(H,L) |
1 |
5 |
|
|||||
ы |
п |
F B |
EI |
Разрешение прерывания |
1 |
4 |
|
|||||
в |
- |
F 3 |
DI |
Запрещение прерывания |
1 |
4 |
|
|||||
о |
и |
7 6 |
HLT |
Останов. |
1 |
7 |
|
|||||
д |
е |
0 0 |
NOP |
Пустая команда |
1 |
4 |
|
|||||
cond |
Значение признаков |
код |
r |
rp |
n |
|
NZ |
Z=0, |
Результат = 0 |
000 |
В |
BC |
0 |
Z |
Z=1, |
Р езультат = 0 |
001 |
С |
DE |
1 |
NC |
C=0, |
нет переноса |
010 |
D |
HL |
2 |
C |
C=1, |
есть перенос |
011 |
E |
SP |
3 |
PO |
P=0, |
число единиц в результате нечетно |
100 |
H |
|
4 |
PE |
P=1, |
число единиц в результате четно |
101 |
L |
|
5 |
R |
S=0, |
результат положительный |
110 |
M |
|
6 |
M |
S=1, |
результат отрицательный |
111 |
A |
|
7 |
|
||||||
Примечания
признак S Z 0 AC 0 P 1 C 8. PCh, PCl – соответственно старший и младший байты счетчика команд. |
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
Приложение 2
Содержимое регистра признаков
Содержимое регистра признаков |
Активные признаки ( = 1 ) |
02 03 06 07 12 13 16 17 46 47 56 57 82 83 86 87 92 93 96 97 |
- C P P,C AC AC, C AC, P AC, P, C Z, P Z, P, C Z, AC, P Z, AC, P, C S S, C S, P S, P. C S, AC S. AC, C S, AC. P S, AC, P, C
|
Методические указания
Разработала доцент Дроздова Галина Дмитриевна
Рецензенты: канд. техн. наук, доцент А. В. Красновидов,
канд. техн. наук, доцент С. Г. Свистунов
Разработала доцент Дроздова Галина Дмитриевна
Отпечатано в авторской редакции
Подписано в печать с оригинал-макета
Формат 69х84 1/16. Бумага для множ. апп. Печать офсетная.
Усл. печ. л. 2,8 Тираж .
Заказ
Петербургский государственный университет путей сообщения.
190031, СПб., Московский пр., д.9
Типография ПГУПС. 190031, СПб., Московский пр., д.9