Программа, формирующая таблицу истинности для функции F=A+C*(B+D)

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

Министерство образования Российской Федерации

 

Рязанский государственный технологический колледж

 

 

 

 

 

 

 

 

 

 

 

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

 

 

к курсовой работе по предмету

 

“Архитектура ЭВМ систем и сетей”

 

 

 

 

 

 

Выполнил:Сорокин В.А.

 

Проверил: Лабутин А.В.

 

Оценка_______________

 

 

 

 

 

 

 

2001г

 

 

Содержание

  1. Введение1
  2. Общие сведения о языке ассемблер2
  3. Программная часть
  4. Описание программы 3
  5. Этапы разработки ассемблерных программ5
  6. Блок-схема алгоритма программы2
  7. Программа, формирующая таблицу истинности для функции F=A+C(BD)4
  8. Список использованной литературы5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Программная часть

 

Описание программы

 

 

В этой работе мы рассмотрим один из способов написания программы, формирующую, таблицу истинности для функции F=A+C(BD),с помощью языка Ассемблера. Прежде чем создать программу надо детально рассмотреть, какие шаги для этого надо предпринять, то есть надо написать алгоритм работы этой программы . Для того чтобы компьютер смог обработать данные, эти данные ему надо сначала ввести , а это значит первым шагом в решении нашей задачи будет ввод числа. Для начала присвоим начальное значение равное 0 всем операндам то есть A,B,C,D,F.Вторым шагом в работе будет вычисление функции F=A+C(BD). После этого мы выводим на экран значения операндов 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,F A=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г.

 

cseg segment

org 100h

assume cs:cseg,ds:dseg,ss:sseg

start:

mov ax,dseg ; установить регистр DS таким

mov ds,ax ; образом, чтобы он указывал

; на сегмент данных

 

mov ax,0600h

mov bh,07

mov cx,0000

mov dx,184Fh

int 10h

 

mov ah,9 ; функция DOS вывода строки

mov dx,OFFSET Message ; ссылка на сообщение "A B C D F"

int 21h ; вывести "A B C D F" на экран

 

 

BEGIN: ; ___

; Расчет функции F = A+C*B(+)D

mov ah, B ; копирование B в ah

xor ah, D ; исключающее или

mov al, A ; к