Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LABA06_2012.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
442 Кб
Скачать
☆

Блок – схема алгоритму перетворення ascii – коду в шістнадцяткове значення

Процедура переводу з десяткової в шістнадцяткову систему числення

Якщо ввід здійснюється в десятковій системі числення, то значення повинні складатися лише з цифр від нуля до дев’яти. При цьому ASCII коди відрізняються від значень цифр на 30h. Тому для отримання значень достатньо від ASCII – коду відняти 30h, або просто обнулити старшу тетраду введеного байту за допомогою команди логічного множення («і»). Далі слід застосувати процедуру переводу з 10-ої в 16-ву систему і отримати остаточні значення, з якими можна обчислювати вирази. Для переходу від системи числення з меншою основою до системи числення з більшою основою використовується множення на меншу основу з відповідною вагою розрядів. Наприклад, якщо треба перетворити десяткове число 965 в шістнадцяткову систему слід:

5*0А0(h)+6*0А1(h)+9*0А2(h),

тут 0А – основа десяткової системи (10), записана у вихідній, тобто 16-ій системі.

Маємо, відповідно:

5*1(h)=5h; 6*А(h)=3С(h); 9*64(h)=384(h).

Додавши отримані значення, отримуємо: 5(h)+3С(h)+384(h)=3C5(h)

Отже якщо після вводу, в пам’яті містяться десяткові значення за принципом молодша адреса – старший розряд (бо ввід відбувається від старшої до молодшої цифри), то обробку треба починати з наймолодшої цифри, (тобто з найстаршої адреси) і продовжувати справа наліво.

Блок – схема алгоритму перетворення десяткового значення в шістнадцяткове

Контрольні запитання:

1. Як в Асемблері визначаються макрокоманди?

2. Як описати процедуру?

3. Які способи передачі параметрів можна використовувати?

4. Пояснити процедуру вводу даних з клавіатури в десятковій формі і їх перевід у війкове значення.

5. Пояснити процедуру виводу даних на екран у десятковій системі числення.

Література:

1.Р.Джордейн.Справочник програмиста персональных компъютеров типа ІBM PC XT и AT. - M."Финансы и статистика",1992,стор.13-31.

2.Л.О.Березко,В.В.Троценко. Особливості програмування в турбо-асемблері. -Киів,НМК ВО,1992.

3.Л.Дао. Программирование микропроцессора 8088.Пер.с англ.-М."Мир",1988.

4.П.Абель.Язык ассемблера для ІBM PC и программирования. Пер. з англ.-М.,"Высшая школа",1992.

Завдання:

1. Створити *.exe програму, яка реалізовує обчислення, заданого варіантом виразу над даними, введеними в десятковій системі і результат виводить на екран в десятковій формі.

Програма повинна складатися з трьох основних підпрограм:

процедура вводу - забезпечує ввід даних з клавіатури в десятковій формі і їх перевід у двійкове значення ;

процедура безпосередніх обчислень – здійснює всі необхідні арифметичні дії у двійковій системі;

процедура виводу – забезпечує перевід війкового результату у десятковий формат та вивід на екран.

Передача параметрів може здійснюватися довільним чином. Кожна з перерахованих процедур може містити довільну кількість додаткових підпрограм.

Вхідні операнди А, В, С, D, E, F вважати беззнаковими і довжиною в байтах, згідно з індексу. К – константа, довжина якої визначається значенням(згідно варіанту).

2. Переконатися у правильності роботи кожної процедури зокрема та програми загалом.

3. Скласти звіт про виконану роботу з приведенням тексту програми та коментарів до неї.

4. Дати відповідь на контрольні запитання.

Варіанти завдання – див. Лабораторну роботу №4.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]