- •Оглавление
- •Введение
- •Задание на выполнение курсового проекта
- •Необходимая справочная информация
- •1 Программирование в кодах для микроЭвм см-1800
- •1.1 Обозначения, используемые при описании команд
- •1.2 Список команд
- •1.3 Кратное описание команд
- •1.4 Коды операций команд (в порядке возрастания)
- •2 Некоторые приемы программирования в кодах
- •2.1 Перемещение данных
- •2.2 Организация цикла
- •2.3 Использование подпрограмм
- •2.4 Перекодирование информации
- •3 Эмулятор микроЭвм см-1800
- •3.1 Постановка задачи эмуляции
- •3.2 Технические данные
- •3.3 Описание программы
- •3.3.1 Главное меню
- •3.3.2 Основные окна
- •3.3.3 Дополнительные окна
- •3.4 Сообщения эмулятора
- •3.5 Характерные особенности эмулятора
- •3.6 Порядок установки и подготовка к работе
- •3.7 Системные требования
- •3.8 Справочная информация и тестирование
- •1) Соответствие клавиш стандартной клавиатуры ibm pc и оригинальной клавиатуры см-1800.
- •Пример выполнения курсового проекта
- •Задание
- •Индивидуальное задание № 28
- •Содержание
- •1 Аналитическая часть
- •1.1 Двоично-десятичное кодирование
- •1.2 Операции двоично-десятичной арифметики
- •1.3 Кодирование текстовых данных
- •2 Практическая разработка
- •2.1 Блок – схема алгоритма
- •2.2 Распределение памяти и листинг программы с комментарием
- •2.3 Результаты тестирования программы
- •3 Описание использованных при проектировании средств вычислительной техники
- •Список литературы
- •Приложение а
- •«Разработка программ преобразования форматов двоичных данных и сортировок в машинных кодах микро-эвм см-1800 с помощью эмулятора на пк»
- •Приложение б
- •Задание
- •Приложение в
- •190013, Г. Санкт-Петербург, Московский пр., д. 26
1.4 Коды операций команд (в порядке возрастания)
Таблица 4 – Коды операций команд
00 NOP |
40 MOV B,B |
80 ADD B |
C0 RNZ |
01 LXI B,XXXX |
41 MOV B,C |
81 ADD C |
C1 POP B |
02 STAX B |
42 MOV B,D |
82 ADD D |
C2 JNZ XXXX |
03 INX B |
43 MOV B,E |
83 ADD E |
C3 JMP XXXX |
04 INR B |
44 MOV B,H |
84 ADD H |
C4 CNZ XXXX |
05 DCR B |
45 MOV B,L |
85 ADD L |
C5 PUSH B |
06 MVI B,XX |
46 MOV B,M |
86 ADD M |
C6 ADI XX |
07 RLC |
47 MOV B,A |
87 ADD A |
C7 RST 0 |
08 - - - - |
48 MOV C,B |
88 ADC B |
C8 RZ |
09 DAD B |
49 MOV C,C |
89 ADC C |
C9 RET |
0A LDAX B |
4A MOV C,D |
8A ADC D |
CA JZ XXXX |
0B DCX B |
4B MOV C,E |
8B ADC E |
CB - - - - |
0C INR C |
4C MOV C,H |
8C ADC H |
CC CZ XXXX |
0D DCR C |
4D MOV C,L |
8D ADC L |
CD CALL XXXX |
0E MVI C,XX |
4E MOV C,M |
8E ADC M |
CE ACI XX |
0F RRC |
4F MOV C,A |
8F ADC A |
CF RST 1 |
10 - - - - |
50 MOV D,B |
90 SUB B |
D0 RNC |
11 LXI D,XXXX |
51 MOV D,C |
91 SUB C |
D1 POP D |
12 STAX D |
52 MOV D,D |
92 SUB D |
D2 JNC XXXX |
13 INX D |
53 MOV D,E |
93 SUB E |
D3 OUT XXXX |
14 INR D |
54 MOV D,H |
94 SUB H |
D4 CNC XXXX |
15 DCR D |
55 MOV D,L |
95 SUB L |
D5 PUSH D |
16 MVI D,XX |
56 MOV D,M |
96 SUB M |
D6 SUI XX |
17 RAL |
57 MOV D,A |
97 SUB A |
D7 RST 2 |
18 - - - - |
58 MOV E,B |
98 SBB B |
D8 RC |
19 DAD D |
59 MOV E,C |
99 SBB C |
D9 - - - - |
1A LDAX D |
5A MOV E,D |
9A SBB D |
DA JC XXXX |
1B DCX D |
5B MOV E,E |
9B SBB E |
DB IN XX |
1C INR E |
5C MOV E,H |
9C SBB H |
DC CC XXXX |
1D DCR E |
5D MOV E,L |
9D SBB L |
DD - - - - |
1E MVI E,XX |
5E MOV E,M |
9E SBB M |
DE SBI XX |
1F RAR |
5F MOV E,A |
9F SBB A |
DF RST 3 |
20 - - - - |
60 MOV H,B |
A0 ANA B |
E0 RPO |
21 LXI H,XXXX |
61 MOV H,C |
A1 ANA C |
E1 POP H |
22 SHLD XXXX |
62 MOV H,D |
A2 ANA D |
E2 JPO XXXX |
23 INX H |
63 MOV H,E |
A3 ANA E |
E3 XTHL |
24 INR H |
64 MOV H,H |
A4 ANA H |
E4 CPO XXXX |
25 DCR H |
65 MOV H,L |
A5 ANA L |
E5 PUSH H |
26 MVI H,XX |
66 MOV H,M |
A6 ANA M |
E6 ANI XX |
27 DAA |
67 MOV H,A |
A7 ANA A |
E7 RST 4 |
28 - - - - |
68 MOV L,B |
A8 XRA B |
E8 RPE |
29 DAD H |
69 MOV L,C |
A9 XRA C |
E9 PCHL |
2A LHLD XXXX |
6A MOV L,D |
AA XRA D |
EA JPE XXXX |
2B DCX H |
6B MOV L,E |
AB XRA E |
EB XCHG |
2C INR L |
6C MOV L,H |
AC XRA H |
EC CPE XXXX |
2D DCR L |
6D MOV L,L |
AD XRA L |
ED - - - - |
2E MVI L,XX |
6E MOV L,M |
AE XRA M |
EE XRI XX |
2F CMA |
6F MOV L,A |
AF XRA A |
EF RST 5 |
30 - - - - |
70 MOV M,B |
B0 ORA B |
F0 RP |
31 LXI SP,ХХХХ |
71 MOV M,C |
B1 ORA C |
F1 POP PSW |
32 STA XXXX |
72 MOV M,D |
B2 ORA D |
F2 JP XXXX |
33 INX SP |
73 MOV M,E |
B3 ORA E |
F3 DI |
34 INR M |
74 MOV M,H |
B4 ORA H |
F4 CP XXXX |
35 DCR M |
75 MOV M,L |
B5 ORA L |
F5 PUSH PSW |
36 MVI M,XX |
76 HLT |
B6 ORA M |
F6 ORI XX |
37 STC |
77 MOV M,A |
B7 ORA A |
F7 RST 6 |
38 - - - - |
78 MOV A,B |
B8 CMP B |
F8 RM |
39 DAD SP |
79 MOV A,C |
B9 CMP C |
F9 SPHL |
3A LHLD XXXX |
7A MOV A,D |
BA CMP D |
FA JM XXXX |
3B DCX SP |
7B MOV A,E |
BB CMP E |
FB EI |
3C INR A |
7C MOV A,H |
BC CMP H |
FC CM XXXX |
3D DCR A |
7D MOV A,L |
BD CMP L |
FD - - - - |
3E MVI A,XX |
7E MOV A,M |
BE CMP M |
FE CPI XX |
3F CMC |
7F MOV A,A |
BF CMP A |
FF RST 7 |
Условные обозначения:
ХХХХ – адрес ячейки памяти или данные
XX – адрес порта или данные
- - - - – код операции не используется
