Главная
Случайная страница
Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
ASCII -коды десятичных цифр
Десятичная цифра
| ASCII -код
| Десятичная цифра
| А8СП-код
|
| $30
|
| $35
|
| $31
|
| $36
|
| $32
|
| $37
|
| $33
|
| $38
|
| $34
|
| $39
| Расширенный набор символов, который Windows и программы для Windows в большинстве случаев используют, называется набор символов ANSI (ANSI character set), фактически он является международным стандартом ISO.
Стандарт кодировки символов UNICODE. Стандарт Unicode был предложен некоммерческой организацией Unicode Consortium, образованной в 1991 г. Для представления каждого символа в этом стандарте используются два байта: один байт для кодирования символа, другой для кодирования признака. Тем самым обеспечивается информационная совместимость данного способа кодирования со стандартом ASCII.
Примеры арифметики с ДД- кодами на основе чисел из таблицы п.2 после их перевода в ДД.
ДД-код
| Константа16
| ДД-код
| Константа16
| 1111 1111
| FF
| 0000 0000
|
| 0011 0101
|
| 1111 0100
| F4
| 0101 0111
|
| 1001 1010
| 9A
| 1000 1101
| 8D
| 0000 0111
|
| 1000 0000
|
| 0000 1010
| 0A
|
Пример сложения:
80 (1000 0000) + 35 (0011 0101) = 115 (0001 0001 0101)
Пример вычитания:
80 (1000 0000) - 35 (0011 0101) = 45 (0100 0101)
Практическая часть.
Блок-схема алгоритма.
Листинг программы с комментариями.
Адрес
| Машин. код
| Метка
| Код Ассемблера
| Комментарий
|
| 31 00 80
|
| LXI SP,8000H
| Создание стека программы
|
| 06 0A
|
| MVI B,0AH
| Установка начальных значений счётчиков цикла
|
| 0E 09
| L1:
| MVI C,09H
|
| 21 01 50
|
| LXI H,5001H
| Указываем адреса первой пары элементов массива
| 400A
| 11 00 50
|
| LXI D,5000H
| 400D
| 1A
| L2:
| LDAX D
| Загрузка в аккумулятор элемента массива
| 400E
| BE
|
| CMP M
| Сравниваем со следующим элементом массива
| 400F
| DA 18 40
|
| JC L3
| Если первый элемент меньше, переход по метке, иначе
|
| C5
|
| PUSH B
| Сохраняем счётчики в стек
|
| 4E
|
| MOV C,M
|
Меняем элементы массива местами
|
|
|
| MOV M,A
|
|
|
| MOV A,C
|
|
|
| STAX D
|
| C1
|
| POP B
| Восстанавливаем счётчики из стека
|
|
| L3:
| INX H
| Переход к следующей паре элементов
|
|
|
| INX D
| 401A
| 0D
|
| DCR C
|
Уменьшаем счётчики и проверяем не закончилась ли сортировка
| 401B
| C2 0D 40
|
| JNZ L2
| 401E
|
|
| DCR B
| 401F
| C2 05 40
|
| JNZ L1
|
| C3 25 40
|
| JMP KOI
| Переход к процедуре формирования кодов КОИ-7
|
|
|
|
|
|
| 21 00 50
| KOI:
| LXI H,5000H
| Адрес исходного массива
|
| 11 00 70
|
| LXI D,7000H
| Адрес нового массива
| 402B
| 01 0A 00
|
| LXI B,000AH
| Инициализация счётчика
| 402E
| 7E
| A1:
| MOV A,M
| Загружаем в аккумулятор число
| 402F
| A7
|
| ANA A
| Обнуляем флаг CY
|
| 1F
|
| RAR
|
Перемещаем старшую тетраду в правую часть байта
|
| 1F
|
| RAR
|
| 1F
|
| RAR
|
| 1F
|
| RAR
|
| E6 0F
|
| ANI 0FH
| Обнуляем старшую тетраду
|
| F6 30
|
| ORI 30H
| Записываем в старшую тетраду «3»
|
| FE 39
|
| CPI 39H
| Сравниваем полученное с 39H
| 403A
| DA 40 44
|
| JC M1
| Если меньше39H, переход по метке, иначе
| 403D
| FE 39
|
| CPI 39H
| Сравниваем с 39H
| 403F
| CA 44 40
|
| JZ M1
| Если равно 39H, переход по метке, иначе
|
| C6 07
|
| ADI 07H
| Добавляем 7, для выравнивая с кои-7
|
|
| M1:
| STAX D
| Сохраняем полученное число
|
|
|
| INX D
|
| 7E
|
| MOV A,M
| Загружаем в аккумулятор число
|
| E6 0F
|
| ANI 0FH
| Обнуляем старшую тетраду
|
| F6 30
|
| ORI 30H
| Записываем в старшую тетраду «3»
| 404B
| FE 39
|
| CPI 39H
| Сравниваем с 39H
| 404D
| DA 57 40
|
| JC M2
| Если меньше39H, переход по метке, иначе
|
| FE 39
|
| CPI 39H
| Сравниваем с 39H
|
| CA 57 40
|
| JZ M2
| Если равно 39H, переход по метке, иначе
|
| C6 07
|
| ADI 07H
| Добавляем 7, для выравнивая с кои-7
|
|
| M2:
| STAX D
| Сохраняем полученное число
|
|
|
| INX D
|
|
|
| INX H
| Переход к следующему числу
| 405A
| 0D
|
| DCR C
| Уменьшение счётчика
| 405D
| C2 2E 40
|
| JNZ A1
| Если обработаны не все числа, переход по метке
|
| C3 40 00
|
| JMP 0040 H
| Выход в монитор
|
|