- •«Разработка программ преобразования форматов двоичных данных и сортировок в машинных кодах микро-эвм см-1800 с помощью эмулятора на пк»
- •Задание
- •Содержание
- •Аналитическая часть
- •1.1 Двоично-десятичное кодирование
- •1.2 Операции двоично-десятичной арифметики
- •1.3 Кодирование текстовых данных
- •2.2 Распределение памяти и листинг программы с комментарием
- •2 Практическая разработка
- •2.1 Блок – схема алгоритма
- •2.3 Результаты тестирования программы
- •3 Описание использованных при проектировании средств вычислительной техники
2.3 Результаты тестирования программы
При запуске программы, на экране Монитора выводятся следующие данные
По адресу 5000 лежит массив исходных данных:
Адрес |
Константа16 |
5000 |
00 |
5001 |
85 |
5002 |
8D |
5003 |
07 |
5004 |
80 |
5005 |
22 |
5006 |
D4 |
5007 |
A9 |
5008 |
FF |
5009 |
A0 |
По адресу 5100 лежит массив результатов
Адрес |
Константа16 |
5100 |
00 00 |
5102 |
33 01 |
5104 |
41 01 |
5106 |
07 00 |
5108 |
28 01 |
510А |
34 00 |
510С |
12 02 |
510Е |
69 01 |
5110 |
55 02 |
5112 |
60 01 |
Таким образом, исходному массиву соответствует:
Константа |
Результат10 |
00 |
0 |
85 |
133 |
8D |
141 |
07 |
7 |
80 |
128 |
22 |
34 |
D4 |
212 |
A9 |
169 |
FF |
255 |
A0 |
160 |
Для того, чтобы быстро проверить результат, можно воспользоваться формулой:
an-1 qn-1 + an-2 qn-2 + ... + a1 q1 + a0 q0 + a-1 q-1 + ... + a-m q-m,
где ai — цифры системы счисления; n и m — число целых и дробных разрядов, соответственно; q - основание системы счисления, в данном случае q = 16
Например: A*161+9*160=10*16+9=160+9=169
Следовательно, программа работает верно.
3 Описание использованных при проектировании средств вычислительной техники
При разработке программы был использован персональный компьютер со следующими техническими характеристиками:
Процессор: Intel Core2 Quad Q6600 2.4 GHz.
Оперативной памяти 256Мб
Видеокарта: Radeon HD 3850, 1024 Мб видеопамяти;
Жесткий диск: 500 GB;
Клавиатура, "мышь".
Стандартное программное обеспечение:
Microsoft Windows XP, Microsoft Office 2003
Практическая разработка данного курсового проекта выполнялась на эмуляторе микроЭВМ СМ–1800 v3.01.
Выводы
Курсовой проект выполнен полностью в соответствии с Заданием.
Как отмечалось в п.2, возможны различные подходы к решению задачи. Приведем вариант с подпрограммой:
ORG 4000h ; адрес размещения программы
LXI SP, A000h ; стек программы
MVI L, 0Ah ; количество чисел для обработки
LXI B, 5000h ; исходный массив
LXI D, 5100h ; результаты
LABEL1: LDAX B ; загрузка очередного числа в аккумулятор
CALL SUB1 ; вызов подпрограммы получения результата
STAX D ; запись младшего байта результата
INX D ; переход к следующему адресу записи
; результатов
MOV A, H ; перенос старшего байта в аккумулятор
STAX D ; запись старшего байта результата
INX D ; переход в следующему адресу записи
; результатов
INX B ; переход в следующему адресу чтения
; исходных чисел
DCR L ; уменьшение счетчика
JNZ LABEL1 ; переход в начало цикла
JMP 40h ; выход в монитор
; подпрограмма получения очередного числа
; на входе: исходное число в аккумуляторе
; на выходе: результат в регистрах DE и HL
SUB1: PUSH B
PUSH D
MVI H, 00
MVI C, 00
MVI D, 00
LABEL2: SUI 64h ; вычитаем 100 из аккумулятора
JC LABEL3 ; если меньше 0, то на восстановление
INR H ; иначе увеличение счетчика
JMP LABEL2 ; и повтор цикла
LABEL3: ADI 64h ; восстановление результата
LABEL4: SUI 0Ah ; вычитаем 10
JM LABEL5 ; если меньше 0, то на восстановление
INR C ; иначе увеличение счетчика
JMP LABEL4 ; и повтор цикла
LABEL5: ADI 0Ah ; восстановление результата
ANI 0Fh ; очистка старших 4 бит
MOV D, A ; сохранение аккумулятора в регистре D
MOV A, C ; и занесение числа для сдвига в
; аккумулятор
RLC ; сдвиг на 4 разряда влево
RLC
RLC
RLC
ANI F0h ; очистка младших 4 бит
ADD D ; и подстановка туда числа единиц
POP D
POP B
RET
ORG 5000h ; адрес данных
SRCDATA DB 00h, 85h, 8Dh, 07h, 80h, 22h, D4h, A9h, FFh, A0h
ORG 5100h ; адрес результатов
DSTDATA DB 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
Список литературы
МикроЭВМ СМ-1800. Архитектура, программирование, применение / А.В. Гиглавый, Н.Д. Кобанов, Н.Л. Прохоров, А.Н. Шкамарда. – М.: Финансы и статистика, 1984.
Гиляров В.Н. МикроЭВМ СМ-1800 и ее эмулятор на ПК: Методические указания к лабораторной работе / В.Н. Гиляров. - СПб.: СПбГТИ(ТУ), 2006.
Гиляров В.Н. Видеотерминал и клавиатура микроЭВМ: Методические указания к лабораторной работе / В.Н. Гиляров. - СПб.: СПбГТИ(ТУ), 2006.
