й коди. Цілі числа зі знаком зазвичай займають в пам'яті комп'ютера один, два або чотири байти. Для зберігання цілих чисел зі знаком старший (лівий) розряд у машинному слові відводиться під знак числа (якщо число позитивне, то в знаковий розряд записується нуль, якщо число від'ємне - одиниця). Рівно половина з усіх 2 n чисел будуть негативними; враховуючи необхідність нульового значення, позитивних буде на одиницю менше.
Максимальне позитивне число (з урахуванням виділення одного розряду на знак) для цілих чисел зі знаком в n-розрядному поданні одно. Мінімальна негативне число (з урахуванням виділення одного розряду на знак) для цілих чисел зі знаком в n-розрядному поданні одно -.
Діапазони значень цілих чисел зі знаком:
в 8-розрядної клітинці: від - 128 до +127;
в 16-розрядної клітинці: від - 32 768 до 32 767;
в 32-розрядної клітинці: від - 2147483648 до 2147483647.
Для представлення негативного числа використовується додатковий код. Додатковий код позитивного числа збігається з його прямим кодом.
Прямий код цілого позитивного числа може бути отриманий таким чином: число переводиться в двійкову систему числення, а потім його двійкову запис зліва доповнюють необхідною кількістю нулів відповідно до розрядністю машинного слова. Наприклад, прямий код числа 37 10=100 101 2 в 16-розрядної комірці буде мати вигляд 0000000000100101.
Для запису внутрішнього подання цілого число зі знаком (-А) необхідно:
) модуль числа записати в прямому коді в n двійкових розрядах;
) отримати зворотний код числа, для цього значення всіх біт інвертувати - всі одиниці замінити на нулі і всі нулі замінити на одиниці);
) до отриманого зворотного коду додати одиницю. Отримаємо додатковий код цілого числа зі знаком.
Наприклад, внутрішнє подання цілого від'ємного числа - 1607 в 16-розрядної комірці запишеться наступним чином: 1111 1001 1011 1001. Так як:
) а)?- 1607?=1607 10=11001000111 2
б) прямий код в 16-розрядної клітинці:
0110 0100 0111
) зворотний код:
1001 1011 1000
) додатковий код (результат додавання 1):
1001 1011 1001 - це внутрішньо двійкове подання числа (- 1607).
емулятор масив плаваюча точка
2. Практична розробка
2.1 Блок-схема алгоритму з поясняющим текстом
2.2 Розподіл пам'яті і лістинг програми з коментарем
SP-двухбайтного регістр стека
H, L - пара регістрів, зайнятих масивом вихідних чисел
D, E - пара регістрів, зайнятих результуючого масиву.
В, С - пара регістрів, використовуваних для зберігання тимчасових даних
С - регістр, використовуваний як лічильник
адресданни...