- •Оглавление
- •Введение
- •Задание на выполнение курсового проекта
- •Необходимая справочная информация
- •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.3 Кратное описание команд
Таблица 3 – Описание команд
Обозначение |
Описание |
ADD R |
Сложение содержимого регистра R с содержимым аккумулятора |
ADD M |
Сложение содержимого ячейки памяти с содержимым аккумулятора |
ADI (B2) |
Сложение непосредственных данных (В2) с содержимым аккумулятора |
ADC R |
Сложение содержимого регистра R, аккумулятора и флага CY |
ADC M |
Сложение содержимого ячейки памяти, аккумулятора и флага CY |
ACI (B2) |
Сложение непосредственных данных (В2) с содержимым аккумулятора и содержимым флага CY |
ANA R |
Логическое умножение («И») содержимого регистра R и аккумулятора |
ANA M |
Логическое умножение («И») содержимого ячейки памяти и аккумулятора |
ANI B2 |
Логическое умножение («И») содержимого непосредственных данных (В2) и аккумулятора |
CALL (B2)(B3) |
Вызов безусловный, т.е. переход к команде, адрес которой содержится во втором и третьем байтах команды |
CC (B2)(B3) |
Вызов по условию: при наличии переноса CY=1 – (по переносу) |
CNC (B2)(B3) |
Вызов по условию: при отсутствии переноса CY=0 – (нет переноса) |
CZ (B2)(B3) |
Вызов по условию: результат равен нулю Z=1 – (по нулю) |
CNZ (B2)(B3) |
Вызов по условию: результат не равен нулю Z=0 – (нет нуля) |
CM (B2)(B3) |
Вызов по условию: результат отрицателен S=1 – (по минусу) |
CP (B2)(B3) |
Вызов по условию: результат положителен S=0 (по плюсу) |
CPE (B2)(B3) |
Вызов по условию: сумма единиц в коде результата четная P=1 – (по четности) |
CPO (B2)(B3) |
Вызов по условию: сумма единиц в коде результата нечетная P=0 – (по нечетности) |
CMA |
Инвертирование содержимого аккумулятора |
CMC |
Инвертирование содержимого флага переноса CY |
CMP R |
Сравнение содержимого регистра R и аккумулятора |
CMP M |
Сравнение содержимого ячейки памяти и аккумулятора |
CPI (B2) |
Сравнение непосредственных данных (В2) и аккумулятора |
DAA |
Преобразование содержимого аккумулятора в BDD (двоично-десятичном коде) |
DAD B |
Сложение (В,С) с (H,L) |
DAD D |
Сложение (D,E) с (H,L) |
DAD H |
Сложение (H,L) с (H,L) |
DAD SP |
Сложение указателя стека (SP) с (H,L) |
DCR R |
Отрицательное приращение R |
DCR M |
Отрицательное приращение содержимого ячейки памяти |
DCX B |
Отрицательное приращение (В,С) |
DCX D |
Отрицательное приращение (D,E) |
DCX H |
Отрицательное приращение (H,L) |
DCX SP |
Отрицательное приращение содержимого указателя стека (SP) |
DI |
Запрещение системного прерывания |
EI |
Разрешение системного прерывания |
HLT |
Останов |
IN (B2) |
Ввод данных в аккумулятор из порта, адрес которого определяется содержимым второго байта команды (В2) |
INR R |
Положительное приращение (R) |
INR M |
Положительное приращение содержимого ячейки памяти |
INX B |
Положительное приращение (B,C) |
INX D |
Положительное приращение (D,E) |
INX H |
Положительное приращение (H,L) |
INX SP |
Положительное приращение содержимого указателя стека (SP) |
JMP (B2)(B3) |
Переход безусловный к команде, адрес которой содержится во втором и третьем байтах команды |
JC (B2)(B3) |
Переход по условию: CY=1 – (по переносу) |
JNC (B2)(B3) |
Переход по условию: CY=0 – (нет переноса) |
JZ (B2)(B3) |
Переход по условию: Z=1 – (по нулю) |
JNZ (B2)(B3) |
Переход по условию: Z=0 – (нет нуля) |
JM (B2)(B3) |
Переход по условию: S=1 – (по минусу) |
JP (B2)(B3) |
Переход по условию: S=0 (по плюсу) |
JPE (B2)(B3) |
Переход по условию: P=1 – (по четности) |
JPO (B2)(B3) |
Переход по условию: P=0 – (по нечетности) |
LDA (B2)(B3) |
Загрузка аккумулятора содержимым ячейки памяти, адрес которой содержится во втором и третьем байтах команды |
LDAX B |
Загрузка аккумулятора содержимым ячейки памяти, адрес которой содержится в регистрах B,C |
LDAX D |
Загрузка аккумулятора содержимым ячейки памяти, адрес которой содержится в регистрах D,E |
LHLD (B2)(B3) |
Загрузка регистров H,L содержимым ячейки памяти, адрес которой содержится во втором и третьем байтах команды |
LXI B, (B2)(B3) |
Загрузка непосредственных данных В2,В3 в регистры B,C |
LXI D, (B2)(B3) |
Загрузка непосредственных данных В2,В3 в регистры D,E |
LXI H, (B2)(B3) |
Загрузка непосредственных данных В2,В3 в регистры H,L |
LXI SP, (B2)(B3) |
Загрузка непосредственных данных В2,В3 в указатель стека SP |
MOV R1,R2 |
Пересылка содержимого регистра R2 в регистр R1 |
MOV R,M |
Пересылка содержимого ячейки памяти в регистр R |
MOV M,R |
Пересылка содержимого регистра R в ячейку памяти |
MVI R, (B2) |
Пересылка непосредственных данных В2 в регистр R |
MVI M, (B2) |
Пересылка непосредственных данных В2 в ячейку памяти |
ORA R |
Логическое сложение («ИЛИ») содержимого регистра R и аккумулятора |
ORA M |
Логическое сложение («ИЛИ») содержимого ячейки памяти и аккумулятора |
ORI (B2) |
Логическое сложение («ИЛИ») содержимого непосредственных данных (В2) и аккумулятора |
OUT (B2) |
Вывод данных из аккумулятора в порт, адрес которого содержится во втором байте команды В2 |
PCHL |
Засылка (H,L) в программный счетчик PC |
POP B |
Извлечение содержимого регистров B,C из стека |
POP D |
Извлечение содержимого регистров D,E из стека |
POP H |
Извлечение содержимого регистров H,L из стека |
POP PSW |
Извлечение содержимого аккумулятора А и регистра F из стека |
PUSH B |
Засылка содержимого регистров B,C в стек |
PUSH D |
Засылка содержимого регистров D,E в стек |
PUSH H |
Засылка содержимого регистров H,L в стек |
PUSH PSW |
Засылка содержимого аккумулятора А и регистра F в стек |
RAL |
Циклический сдвиг содержимого аккумулятора влево на один разряд CY в А0,А7 в CY |
RAR
|
Циклический сдвиг содержимого аккумулятора вправо на один разряд CY в А7,А0 в CY |
RLC |
Циклический сдвиг содержимого аккумулятора влево на один разряд А7 в А0,А7 в CY |
RRC |
Циклический сдвиг содержимого аккумулятора вправо на один разряд А0 в А0, А7 в CY |
RET |
Возврат безусловный к команде с адресом, помещенным последним в стек |
RC |
Возврат по условию: CY=1 – (по переносу) |
RNC |
Возврат по условию: CY=0 – (нет переноса) |
RZ |
Возврат по условию: Z=1 – (по нулю) |
RNZ |
Возврат по условию: Z=0 – (нет нуля) |
RM |
Возврат по условию: S=1 – (по минусу) |
RP |
Возврат по условию: S=0 (по плюсу) |
RPE |
Возврат по условию: P=1 – (по четности) |
RPO |
Возврат по условию: P=0 – (по нечетности) |
RST |
Пуск по результатам обработки прерывания |
SBB R |
Вычитание из аккумулятора содержимого регистра R с заёмом |
SBB M |
Вычитание из аккумулятора содержимого ячейки памяти с заёмом |
SBI (B2) |
Вычитание из аккумулятора непосредственных данных В2 с заёмом |
SUB R |
Вычитание из аккумулятора содержимого регистра R |
SUB M |
Вычитание из аккумулятора содержимого ячейки памяти |
SUI (B2) |
Вычитание из аккумулятора непосредственных данных В2 |
SHLD (B2)(B3) |
Запись (H,L) в память с адресом, который содержится во втором и третьем байтах команды |
SPHL |
Засылка (H,L) в указатель стека SP |
STA (B2)(B3) |
Запись содержимого аккумулятора в ячейку памяти, адрес которой содержится во втором и третьем байтах команды |
STAX B |
Запись содержимого аккумулятора в ячейку памяти, адрес которой содержится в регистрах В,С |
STAX D |
Запись содержимого аккумулятора в ячейку памяти, адрес которой содержится в регистрах D,E |
STC |
Установка флага переноса в состояние «1» |
XRA R |
Сложение по модулю («Исключающее ИЛИ») содержимого регистра R и аккумулятора |
XRA M |
Сложение по модулю («Исключающее ИЛИ») содержимого ячейки памяти и аккумулятора |
XRI (B2) |
Сложение по модулю («Исключающее ИЛИ») непосредственных данных В2 и аккумулятора |
XCHG |
Обмен содержимым между регистрами D,E и H,L |
XTHL |
Обмен содержимым между верхними ячейками стека и регистрами H,L |
