Программа, формирующая таблицу истинности для функции F=A+C(B+D)Рефераты >> Программирование и компьютеры >> Программа, формирующая таблицу истинности для функции F=A+C(B+D)
Содержание
1. Введение
2. Общие сведения о языке ассемблер
3. Программная часть
· Описание программы
· Этапы разработки ассемблерных программ
· Блок-схема алгоритма программы
· Программа, формирующая таблицу истинности для функции F=A+C·(BÅD)
4. Список использованной литературы
Программная часть
Описание программы
В этой работе мы рассмотрим один из способов написания программы, формирующую, таблицу истинности для функции F=A+C·(BÅD),с помощью языка Ассемблера. Прежде чем создать программу надо детально рассмотреть, какие шаги для этого надо предпринять, то есть надо написать алгоритм работы этой программы . Для того чтобы компьютер смог обработать данные, эти данные ему надо сначала ввести , а это значит первым шагом в решении нашей задачи будет ввод числа. Для начала присвоим начальное значение равное 0 всем операндам то есть A,B,C,D,F.Вторым шагом в работе будет вычисление функции F=A+C·(BÅD). После этого мы выводим на экран значения операндов A,B,C,D и вычисленный результат функции, то есть F. Следующим шагом будет увеличение операнда D на 1 и проверка условия : если значение D не равно 2, то переходим к вычислению заданной функции и выводу значений операндовA,B,C,D,F на экран, иначе то переходим к следующему шагу решения нашей задачи, то есть присвоению операнду D значения 0, увеличению операнда C на 1. После снова производим проверку условия: если С не равно 2, то переходим к вычислению заданной функции и выводу значений операндовA,B,C,D,F на экран , иначе то переходим к следующему шагу, присвоению операнду С значения 0 и увеличения операнда B на 1. Далее проверяем условие: если B не равно 2, то переходим к вычислению заданной функции и выводу значений операндовA,B,C,D,F на экран , иначе то переходим к следующему шагу, присвоению операнду B значения 0 и увеличения операнда A на 1 , иначе переходим к следующему пункту, проверке условия: если A не равно 2, то переходим к вычислению заданной функции и выводу значений операндовA,B,C,D,F на экран , иначе выходим из программы. Теперь соберём все пункты вместе:
1. Начало
2. Присваиваем начальные значения операндам A,B,C,D,FA=0,B=0,C=0,D=0,F=0
3. Выполняем логическую операцию «исключающее или» над операндами Bи D и заносим результат в регистр AH
4. Выполняем логическую операцию «или» над операндами Aи Cи заносим результат в регистр AL
5. Выполняем инверсию результата находящегося в регистре AL
6. Выполняем логическую операцию «и» над операндами AHи ALи присваиваем результат операнду F
7. Выводим на экран значения операндов A,B,C,D,F
8. Увеличиваем операнд D на 1
9. Проверка условия: если Dне равно 2, то переход на пункт 2, иначе то переход на пункт 9
10. Присваиваем операнду D значение 0, увеличиваем операнд C на 1
11. Проверка условия: если С не равно 2, то переход на пункт 2, иначе то переход на пункт 11
12. Присваиваем операнду С значение 0, увеличиваем операнд B на 1
13. Проверка условия: если Bне равно 2, то переход на пункт 2, иначе то переход на пункт 13
14. Присваиваем операнду B значение 0, увеличиваем операнд A на 1
15. Проверка условия: если A не равно 2, то переход на пункт 2, иначе то переход на пункт 15
16. Конец
Это и есть алгоритм программы на естественном языке.
Список использованной литературы:
1. Питер Абель. «Язык ассемблера для IBM-PC и программирования» Москва, издательство «Высшая школа»,1992г.
2. П.Нортон, Д.Соухе. «Язык ассемблера для IBM-PC» Москва, издательство «Компьютер», 1993г.
3. Б. Бериан. «Программирование на языке ассемблера» Москва, издательство «Мир», 1980г.
4. В. Н. Пильщиков. «Программирование на языке ассемблера для IBM-PC» издательство «Диалог-МИФИ», 1994г.
![]() | ![]() |

















|


|