Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

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

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


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

Тип Реферат
Предмет Информатика и программирование
Просмотров
709
Размер файла
47 б
Поделиться

Ознакомительный фрагмент работы:

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

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

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

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

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

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

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

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

Оценка_______________

2001г

Содержание

1. Введение..................................................................................................... 1

2. Общие сведения о языке ассемблер................................................... 2

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

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

· Этапы разработки ассемблерных программ............................. 5

· Блок-схема алгоритма программы............................................... 2

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

4. Список использованной литературы.................................................... 5

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

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

В этой работе мы рассмотрим один из способов написания программы, формирующую, таблицу истинности для функции 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,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г.


AH=BÅD

AL=A+C

AL=AL

F=AH·AL

D=0

C=C+1

D=D+1


B=0

A=A+1

C=0

B=B+1


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 ; копирование 'A' в al

or al, C ; логическое сложение

not al ; инверсия

and ah, al ; логическое умножение

mov F, ah ; перенос результата в F

jmp FUNC ; Переход на метку FUNC для вывода

; строчки таблицы

NEXT:

add D, 1 ;увеличение D на 1

cmp D, 2 ;если D не равно 2 ,то

jne BEGIN ;переход на метку BEGIN

mov D, 0 ;обнуление D

add C, 1 ;увеличение C на 1

cmp C, 2 ;если C не равно 2 ,то

jne BEGIN ;переход на метку BEGIN

mov C, 0 ;обнуление C

add B, 1 ;увеличение B на 1

cmp B, 2 ;если B не равно 2 ,то

jne BEGIN ;переход на метку BEGIN

mov B, 0 ;обнуление B

add A, 1 ;увеличение A на 1

cmp A, 2 ;если A не равно 2 ,то

jne BEGIN ;переход на метку BEGIN

ENDLAB:

mov ah,4ch ; функция DOS для

int 21h ; завершения программы

FUNC: ; Функции ДОС для вывода символов

; Выводим двоичные значения A B C D, а также F

mov ah,2 ; загрузка номера функции DOS для вывода символа на экран

mov dl, 48 ; код выводимого символа 48=0

add dl,A ; выводим на экран

int 21h ; значение A

mov ah,2

mov dl, 32 ; код выводимого символа 48=пробел

int 21h

mov ah,2

mov dl, 48

add dl,B

int 21h

mov ah,2

mov dl, 32

int 21h

mov ah,2

mov dl, 48

add dl,C

int 21h

mov ah,2

mov dl, 32

int 21h

mov ah,2

mov dl, 48

add dl, D

int 21h

mov ah,2

mov dl, 32

int 21h

mov ah,2

mov dl, 48

add dl, F

int 21h

mov ah,2

mov dl, 32

int 21h

mov ah,2

mov dl, 13

int 21h

mov ah,2

mov dl, 10

int 21h

jmp NEXT ;переход на метку NEXT

cseg ends

dseg segment

A DB 0

B DB 0

C DB 0

D DB 0

F DB 0

Message DB 'A B C D F',13,10,'$'

dseg ends

sseg segment stack 'stack'

db 100 dup (0)

sseg ends

end start

Примечания:

Ниже приведины команды использовались в программе:

sub – двоичное вычитание. Вычитается из первого операнда содержимое второго операнда

Мнемоника: sub <операнд 1>,<операнд 2>

call – вызов процедуры. Передает управление процедуре адрес которой задан операндом, после завершения процедуры, выполнение продолжается командой следующей за командой call

Мнемоника: call <имя процедуры>

ret – возврат к процедуре

shr – сдвинуть логически вправо

xor – исключающее ИЛИ

Мнемоника: xor <операнд 1>,<операнд 2>

lea – загрузить ЕА

Мнемоника: lea reg,<операнд>

push – включить в stack

Мнемоника: push <операнд>

pop – извлечь из stack

Мнемоника: pop <операнд>

mov – переслать

Мнемоника: mov <приемник>,<источник>

inc – увеличение на 1

Мнемоника: inc <операнд>

dec – уменьшение на 1

Мнемоника: dec <операнд>

stosb – пересылает соединения регистра al или ax на который указывает регистр di

loop – команда организации цикла со счетчиком, также короткие переходы (127б) команда уменьшает значение счетчика cx, без изменения каких-либо флагов, если соединение cx >0, то осуществляется переход на заданную метку, в противном случае цикл завершается.

Мнемоника: loop <метка>

.CODE – открывает сегмент кода

.DATA -- открывает сегмент данных

.STACK N – определяет сегмент stack(а); дерективы закрытия сегментов в этом случае не используются; N – показывает размер stack(a) в байтах

Примечание: при использовании таких деректив регистр ds инициализируется следующим образом: mov ax,@data

mov ds,ax

assume в этом случае не используется


Нет нужной работы в каталоге?

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

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
151063
рейтинг
icon
3165
работ сдано
icon
1373
отзывов
avatar
Математика
Физика
История
icon
146343
рейтинг
icon
5958
работ сдано
icon
2692
отзывов
avatar
Химия
Экономика
Биология
icon
103129
рейтинг
icon
2081
работ сдано
icon
1299
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
58 560 оценок star star star star star
среднее 4.9 из 5
Синергия
Заказ выполнен досрочно ! Все отлично ! Спасибо за качественную и оперативную работу!
star star star star star
Московская Международная Академия
Работа выполнена досрочно, без замечаний. Большое спасибо исполнителю Юлии Юрьевне, очень ...
star star star star star
Политех
Отличный исполнитель! Все сделано быстро и без замечаний, реферат сразу оценили на отлично!
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

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

Лабораторная, Программирование

Срок сдачи к 16 февр.

1 минуту назад

Создание и прекращение деятельности юридических лиц в РФ

Курсовая, Гражданское право

Срок сдачи к 1 мар.

8 минут назад

Решить одну задачу по физике

Решение задач, Физика

Срок сдачи к 13 февр.

8 минут назад
9 минут назад

Написать вторую главу магистреской диссертации на тему: "Маркетинг цифровых бизнес экосистем"

Магистерская диссертация, стратегический маркетинг

Срок сдачи к 2 мар.

10 минут назад

Написать статью

Статья, Юриспруденция

Срок сдачи к 10 мар.

11 минут назад

Нужно срочно, ответить на вопросы и заполнить...

Решение задач, Обслуживание кранов металлургического производства

Срок сдачи к 13 февр.

11 минут назад

Сделать презентацию (срочно )

Презентация, Технология продаж

Срок сдачи к 13 февр.

11 минут назад

«Организация и управление международной компанией Sony Group Corporation»

Реферат, менеджмент организации

Срок сдачи к 16 февр.

11 минут назад

Курсовая на тему «Психологизм в творчестве...

Курсовая, Литература

Срок сдачи к 20 февр.

11 минут назад

задача по земельному праву

Решение задач, земельное право

Срок сдачи к 13 февр.

11 минут назад

Построить третий вид, выполнить необходимые разрезы, поставить размеры

Чертеж, начертательная геометрия и инженерная графика

Срок сдачи к 13 февр.

11 минут назад

Выполнить задания

Другое, Ветеринария, Лабораторная диагностика

Срок сдачи к 15 февр.

11 минут назад

Выполнить задания из приложенных файлов

Другое, Ветеринария, лабораторная диагностика

Срок сдачи к 15 февр.

11 минут назад

Написать диплом

Диплом, Нефтегазовле Дело

Срок сдачи к 11 мая

11 минут назад

излучение света

Презентация, физика

Срок сдачи к 13 февр.

11 минут назад

«Москва в системе международных инвестиционных и внешнеторговых связей...

Диплом, Теория международных отношений

Срок сдачи к 7 мар.

11 минут назад

Написать вторую главу диплома на тему: "Маркетинг цифровых бизнес экосистем"

Диплом, стратегический маркетинг

Срок сдачи к 2 мар.

11 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно