17581

Исследование команд для работы с битами. Деление без знаковых чисел

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа № 3 Исследование команд для работы с битами Деление без знаковых чисел Цель работы: Изучения алгоритма деления без знаковых чисел и его реализация при помощи системы команд периферийного PIC контроллера в программной среде MP LAB. Крат...

Русский

2013-07-04

168.5 KB

1 чел.

Лабораторная работа № 3

«Исследование команд для работы с битами»

«Деление без знаковых чисел»

Цель работы: Изучения алгоритма деления без знаковых чисел и его реализация при помощи системы команд периферийного PIC контроллера в программной среде MP LAB.

Краткие сведения об алгоритме деления без знаковых чисел.

В алгоритме деления принимает участие делимое - dividend, делитель - divider, частное - quotient и остаток – remainder.

Из математики известно что делитель обязательно должен быть больше нуля, иначе в любой вычислительной системе возникнет особый случай недействительной операции, приведенный алгоритм деления носит циклический характер и в конце цикла деления остаток либо равен нулю, либо больше нуля, отрицательным он быть не может по определению.

Математический данный алгоритм можно представить в следующем виде:

D = q * d + r ;  формула (1)

Называемый алгоритмом деления Эвклида.

Исходя из формулы 1, остаток r всегда меньше или равен частному r < q .

Поскольку остаток не является отрицательным в цикле деления он останавливается.

Ход выполнения работы:

2.1. Составить детальную блок-схему алгоритма, с учётом программной модели PIC 16C71

Описать составленную блок-схему алгоритма при помощи команд PIC 16C71

2.2. В программной среде MP LAB создать исходный файл с расширением (.asm) .

2.3. В среде MP LAB создать соответствующий проект.

2.4. Использовать многооконный сервис программной среды MP LAB: открыть вспомогательные окна file registers и special function register.

2.5. Внести в исходный текст программы значения: делимого, делителя.

2.6. Скомпилировать созданный проект и запустить на выполнение.

2.7. Создать скриншоты выполнения данного проекта, с дальнейшим их использованием при оформлении работы.

2.8. Объясни: назначение команд в исходной программе, особенно команд работы с битами, а также образования остатка деления по окончанию действия программы.

2.9. Сделать определённые выводы.

2.10. Ответить на дополнительные вопросы относительно алгоритма и текста программ.  

 


 

А также другие работы, которые могут Вас заинтересовать

69718. Вкладені блоки try-catch 28 KB
  При обробці дійсно складних виключень, ви можете зацікавитися можливістю вкладати блоки try і оператори catch всередину інших операторів catch. C++ допускає вкладені блоки try, іншими словами, ви можете згенерувати нове виключення при обробці попереднього.
69719. Обробка несподіваних виключень 27.5 KB
  У програмі оголошені функції badnews, solver і main. Прототип функції solver перераховує виключення, що генеруються в цій функції. Проте ця функція генерує несподіване виключення, коли викликає функцію badnews.
69720. Неспіймані виключення 26.5 KB
  Не дивлячись на найвідчайдушніші спроби обробити виключення, бувають випадки, коли необхідно припинити виконання програми. Відновлення після таких виключень (а також фатальних) неможливе. C++ дозволяє використовувати функції terminate...
69721. Обмеження виняткових ситуацій 29.5 KB
  Обмеження виняткових ситуацій Програміст може обмежити типи виняткових ситуацій які може генерувати функція в інших місцях програми. Фактично можна взагалі заборонити функції генерувати які б то не було виняткові ситуації.
69722. Двійковій режим потоку введення-виведення 22.5 KB
  Метод записує count символів символьного масиву str в потік даних. Ніякі символи-роздільники не впливають на вивід. Він також повертає посилання на потік, тому після операції можна перевірити стан потоку.
69723. Захищене наслідування 23.5 KB
  До базового класу можна застосовувати механізм захищеного наслідування. При цьому всі відкриті і захищені члени базового класу стають захищеними членами похідного класу. Розглянемо приклад.
69724. Множинне наслідування 22 KB
  Похідний клас може одночасно успадковувати властивості декілька базових Наприклад, в програмі, приведеній нижче, клас derived успадковує властивості класів base1 і base2.
69725. Віртуальні базові класи 42 KB
  Як вказано в коментарях, класи derivedl і derived2 є спадкоємцями класу base. Проте клас deribed3 є похідним від обох класів derived2 і derived1. (Таке наслідуванно називається діамантовим). Отже, в об’єкті класу derived3 містяться дві копії об’єкту класу base.
69726. Віртуальні функції 33 KB
  Кожне перевизначення віртуальної функції в похідному класі реалізує операції властиві лише даному класу. Покажчики на об’єкти базового класу можна використовувати для посилання на об’єкти похідних класів.