Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
1) XTHL
[M(SP)]↔[HL]
Число байт – 1
Число циклов - 5
Число тактов – 18
Число команд - 1
Не влияет на флаги.
Используется косвенный вид адресации
2) ADD S
[A]+[S]→A
Число байт – 1
Число циклов – 1/2
Число тактов – 4/7
Число команд - 8
Не влияет на флаги.
Используется неявный вид адресации
1.3.1. Программа, использующая команды XTHL и ADD S и учитывающая возможности RPT-80.
Адрес | Код | Мнемоника |
9900 | 3E | MVI A, 12H |
9901 | 12 | |
9902 | 06 | MVI B, 9H |
9903 | 09 | |
9904 | 80 | ADD B |
9905 | 67 | MOV H, A |
9906 | E3 | XTHL |
9907 | C9 | RET |
Программа суммирует два числа и сохраняет в стек.
1.3.2. Программа, использующая команды XTHL и ADD S и учитывающая возможности RPT-80.
Адрес | Мнемоника |
8000 | CALL KEYIN |
8001 | |
8002 | |
8003 | STA 83F4 |
8004 | |
8005 | |
8006 | MOV B, A |
8007 | CALL KEYIN |
8008 | |
8009 | |
800A | STA 83F5 |
800B | |
800C | |
800D | ADD B |
800E | STA 83F7 |
800F | |
8010 | |
8011 | CALL SEGG |
8012 | |
8013 | |
8014 | MOV H, B |
8015 | XTHL |
8016 | HLT |
Программа позволяет с помощью клавиатуры ввести 2 цифры, сосчитать их сумму и вывести индикатор все 3 значения, сохранив их сумму в стек.
Операции кода.2.1. Представление числа А и B в шестнадцатеричной, восьмеричной и двоичной системах записи.
А = 99, В = 81.
Представим число А в шестнадцатеричной системе записи:
9910 = 6316
Представим число А в восьмеричной системе записи:
9910 = 1438
Представим число А в двоичной системе записи:
9910 =
Представим число B в шестнадцатеричной системе записи:
8110 = 5116
Представим число B в восьмеричной системе записи:
8110 = 1218
Представим число B в двоичной системе записи:
8110 = .
Перевод чисел в десятичную систему осуществляется путем составления степенного ряда с основанием той системы, из которой число переводится. Затем подсчитывается значение суммы.
Представим перевод чисел А и В из шестнадцатеричной системы записи в десятичную:
![]()
![]()
Представим перевод чисел А и В из восьмеричной системы записи в десятичную:
![]()
![]()
Представим перевод чисел А и В из двоичной системы записи в десятичную:
![]()
![]()
2.2 Операции А+В и А-В в шестнадцатеричной и двоичной системах записи.
Проведем операцию А+В в шестнадцатеричной системе записи:
A= | 6 | 3 | ||
+ | ||||
B= | 5 | 1 | ||
A+B= | B | 4 |
При сложении двоичных чисел в каждом разряде производится сложение цифр слагаемых и переноса из соседнего младшего разряда, если он имеется. При этом необходимо учитывать, что 1+1 дают нуль в данном разряде и единицу переноса в следующий.
Проведем операцию А+В в двоичной системе записи:
A= | 1 | 1 | 0 | 0 | 0 | 1 | 1 | ||
+ | |||||||||
B= | 1 | 0 | 1 | 0 | 0 | 0 | 1 | ||
A+B= | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 |
Проведем операцию А-В в шестнадцатеричной системе записи:
A= | 6 | 3 | |
- | |||
B= | 5 | 1 | |
A-B= | 1 | 2 |
При вычитании двоичных чисел в данном разряде при необходимости занимается 1 из старшего разряда. Эта занимаемая 1 равна двум 1 данного разряда.
Проведем операцию А-В в двоичной системе записи:
A= | 1 | 1 | 0 | 0 | 0 | 1 | 1 | |
+ | ||||||||
B= | 1 | 0 | 1 | 0 | 0 | 0 | 1 | |
A-B= | 0 | 0 | 1 | 0 | 0 | 1 | 0 |
2.3.Представление чисел А и В в прямом, дополнительном и обратном кодах (однобайтный формат со знаком, двоичная и шестнадцатеричная записи).
В МП в целях упрощения выполнения арифметических операций применяют специальные коды для представления чисел. Использование кодов позволяет свести операцию вычитания чисел к арифметическому сложению кодов этих чисел. Применяются прямой, обратный и дополнительный коды чисел. Прямой код используется для представления отрицательных чисел в МП, а также при умножении и делении. Обратный и дополнительный коды используются для замены операции вычитания операцией сложения, что упрощает устройство арифметического блока. К кодам выдвигаются следующие требования:
1) Разряды числа в коде жестко связаны с определенной разрядной сеткой.
2) Для записи кода знака в разрядной сетке отводится фиксированный, строго определенный разряд.
Например, если за основу представления кода взят один байт, то для представления числа будет отведено 7 разрядов, а для записи кода знака один разряд.
Прямой код. Прямой код двоичного числа совпадает по изображению с записью самого числа. Значение знакового разряда для положительных чисел равно 0, а для отрицательных чисел 1.
Знаковым разрядом обычно является крайний разряд в разрядной сетке. В дальнейшем при записи кода знаковый разряд от цифровых условимся отделять запятой. Если количество разрядов кода не указано будем предполагать, что под запись кода выделен один байт.
В случае, когда для записи кода выделен один байт, для числа + (А = +9910) прямой код 0,1100011 , для числа (-А = -9910) прямой код 1,1100011. Для числа + (В = +8110) прямой код 0,1010001 , для числа (-В = -8110) прямой код 1,1010001.
Обратный код. Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица.
Для числа + (А = +9910) прямой код 0,1100011; обратный код 0,1100011.
Для числа (-А = -9910) прямой код 1, 1100011; обратный код 1,0011100.
Для числа + (В = +8110) прямой код 0,1010001; обратный код 0,1010001.
Для числа (-В = -8110) прямой код 1,1010001; обратный код 1,0101110.
Дополнительный код. Дополнительный код положительного числа совпадает с прямым кодом. Для отрицательного числа дополнительный код образуется путем получения обратного кода и добавлением к младшему разряду единицы.
Пример.
Для числа + (А = +9910):
Прямой код Обратный код Дополнительный код
0,1100011 0,1100011 0,1100011
Для числа (-А = -9910):
Прямой код Обратный код Дополнительный код
1,1100011 1,0011100 1,0011101
Для числа + (В = +8110):
Прямой код Обратный код Дополнительный код
0,1010001 0,1010001 0,1010001
Для числа (-В = -8110):
Прямой код Обратный код Дополнительный код
1,1010001 1,0101110 1,0101111
2.4. Показать последовательность выполнения действий и объяснить полученные результаты для операции А+В в дополнительных кодах: A>0, B<0; A<0, B>0; A<0, B<0.
Алгоритм сложения в дополнительном коде: по обычному алгоритму складываются все разряды, включая знаковый; единица переноса в k+1-й разряд отбрасывается (т. е. сложение по модулю 2k (в нашем случае k = 8)).
A>0, B<0: 
Т. к. S=0, то перевод в прямой код не требуется.
A<0, B>0: ![]()
Т. к. S=1, то перевод в прямой код требуется.
A<0, B<0: 
Т. к. S=1, то перевод в прямой код требуется.
Разработка программы.3.1. Разработать программу для RPT-80, которая записывает содержимое внутренних регистров В и А в область памяти по адресам 2180Н и 2181Н
Адрес | Код | Мнемоника |
2100 | 21 | LXI H, 2180 |
2101 | 80 | |
2102 | 21 | |
2103 | 70 | MOV M, B |
2104 | 51 | INR L |
2105 | 77 | MOV M, A |
2106 | 76 | RET |
4.1. Нарисовать схему соединения интерфейса (изолированная шина) и таймера с системными шинами.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 |


