Задачей данного курсового проекта ставится разработка алгоритма и его программная реализация на Эмуляторе микро-ЭВМ СМ-1800.
Необходимо, пользуясь программой-монитором, занести в память ЭВМ, начиная с адреса следующий массив из восьмиразрядных констант:
|
Адрес16. | Константа16. | Адрес16. | Константа16. | |
| | | D4. A9. FF. A0. | |
|
Будем рассматривать эти коды как массив однобайтных целых положительных чисел со знаком.
Составить программу, которая выбирает из исходного массива (с адреса 500 016) положительные числа и преобразует их в массив кодов КОИ-7 шестнадцатеричных цифр, записывая результат с адреса 600 016 (600 016 символ старшей шестнадцатеричной цифры 1-го числа, 600 116 — символ младшей шестнадцатеричной цифры 1-го числа и т. д.).
Программу располагать в памяти с ячейки 400 016.
1. Аналитическая часть
Двоично-десятичное кодирование
Поскольку человеку наиболее привычна чисел. Такая система чаще всего применяется там, где существует необходимость частого использования процедуры десятичного ввода-вывода. (электронные часы, калькуляторы и т. д.). В таких устройствах не всегда целесообразно предусматривать универсальный микрокод перевода двоичных чисел в десятичные и обратно по причине небольшого объема программной памяти.
Принцип построения этой системы достаточно прост: каждая десятичная цифра преобраз250 610=0010 0101 0000 0110DEC:
|
Десятичное число. | | | | | |
Двоично-десятичное число. | | | | | |
|
Преобразуем двоично-десятичное число 0111 0010 0001 1000 в его десятичный эквивалент.
Каждая группа из 4 бит преобразуется в её десятичный эквивалент.
Получим 0111 0010 0001 1000DEC = 721 810:
|
Двоично-десятичное число. | | | | | |
Десятичное число. | | | | | |
|
Микропроцессоры используют чистые двоичные числа, однако понимают и команды пр
е.