46865 (Ассемблер)

2016-07-30СтудИзба

Описание файла

Документ из архива "Ассемблер", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "46865"

Текст из документа "46865"

Волжский университет имени В.Н.Татищева

Факультет “Информатика и телекоммуникации”

Кафедра “Информатика и системы управления”

КУРСОВАЯ РАБОТА

по дисциплине: “Организация ЭВМ ”

Тема: “Ассемблер”

Выполнил: студент гр. ИС-311

Руководитель:

Тольятти

Содержание курсовой работы:

  1. Описание и схема алгоритма.

  2. Область применения.

  3. Листинг программы с комментариями.

  4. Список литературы.

1. Описание и схема алгоритма

Начало программы начинается с распределения памяти под код программы под данные и под стек. Прописав строку Model Small выделяется по 64кБ под данные и под код. В задании нам необходимо работать с 32-х битными переменными для чего прописываем строку .386.

Определившись с основными моментами начинаем ввод переменных. Переменной является x.

Ввод переменной x и обработка осуществляется в несколько этапов. Вначале вводится код числа стандартным прерыванием int 21 функцией 0Ah, замет берётся каждый символ и преобразуется в десятичное значение и осуществляется определение десятков или единиц соответственно. В результате получаем введённое нами десятичное число.

Следующим этапом является вычисление полинома по формуле у=2* x -6y- 4. Во-первых возводим в квадрат “x”, затем умножаем на 2. Потом суммируем полученные значения и помещаем в переменную у, которая и является ответом данной задачи.

Завершающей стадией программы являются вывод переменной у и завершение программы. Вывод переменной осуществляется функцией outword, которая содержится в подключаемом модуле io.asm. Подключение данного модуля осуществляется командной include прописываемая до кода программы. Завершение программы осуществляется стандартным способом по стандартному DOS-кому прерыванию int 21 функцией h.

Рис. 1. Схема алгоритма.

Модуль ввода-вывода Io.asm.

Вначале рассмотрим схему хранения операций ввода-вывода (ВВ) и подключения их к программам:

Часть операций ввода-вывода реализована в виде процедур, описания которых собраны в отдельном модуле, хранящемся в файле с именем ioproc.asm (текст модуля приведён ниже). Предполагается, что этот модуль заранее оттранслирован и в виде объектного модуля записан в файл с именем ioproc.obj.

Изменения стека во время прогона программы

Стек в данной программе при выводе переменной у нам необходимо было освободить 6 байт стека для вывода числа.

SP –указатель стека. SS – стек.

Приведём пошаговое изменение стека:

SP: 00F0 SS: 00F2 0000

SS: 00F0 3530

SP: 00F2 SS: 00F4 13BA

SS: 00F2 0000

SP: 0F4 SS: 00F6 0000

SS: 00F4 13BA

SP: 00F6 SS: 00F8 00C9

SS: 00F6 0000

SP: 00F8 SS: 00FA 1645

SS: 00F8 00C9

SS: 00FE 0924

SP: 0100 SS: 0102 02B4

SS: 0100 5052

2. Область применения.

Программа применяется для расчета полинома у=2* x -6y- 4. Программа имеет ограничения в применении, потому что в ней применяется расчет одного значения и по одному алгоритму.

3. Листинг программы:

model small

include io.asm

.data

vvx db 10,13,'Введите x: ','$'

vvy db 10,13,'Введите y: ','$'

otvet db 10,13,'Ответ : ','$'

x db 0

two dd 2

four dd 4

six dd 6

z dw 0,0

.stack 256

.386

.code

main:

;*********-начало программы-********************************

mov dx,@data ;начальный адрес в сегмент данных

mov ds,dx

;*********-Вывод строки-*************************************

mov dx,offset vvx

mov ah,9h ;Вывод строки 'Введите x'

int 21h

;********-Ввод числа-****************************************

mov ah,1h

int 21h

sub al,30h

push ax

;*********-Вывод строки-*************************************

mov dx,offset vvy

mov ah,9h ;Вывод строки 'Введите y'

int 21h

;********-Ввод числа-****************************************

mov ah,1h

int 21h

sub al,30h

push ax

;**********-Расчёт полинома-***********************************

pop ax

xor ah,ah

mov bx,word ptr (six+2)

mul bx ;dx,ax=y*6

mov cx,dx

mov bx,ax

pop ax

xor ah,ah

mov x,al

mul x ;ax=al*al

;xor cx,cx

mov dx,word ptr (two+2)

mul dx ;dx,ax:=2*al

sub ax,bx

sbb dx,cx

;Результат DX,AX

xor cx,cx

mov bx,word ptr (four+2) ;dx = Результат

sub ax,bx

sbb dx,cx

;Результат DX,AX

mov z,dx

mov z+2,ax

;**********-Завершение работы программы-**********************

mov dx,offset otvet ;Вывод сообщения "Ответ"

mov ah,9h

int 21h

outword z ;Процедура вывода

outword z+2

mov ax,4c00h

int 21h

end main

4.Список литературы:

  1. Ефремов В.Д., Мелехин В.Ф., Дурандин К.П. и др. Вычислительные машины и системы. Учебник для вузов – 2М.: Высшая школа, 1994.

  2. Ларионов А.М., Майоров С.А., Новиков Г.И. Вычислительные комплексы, системы, сети.// Учебник для вузов. – Л.: Энергоатомиздат, 1987.

  3. Григорьев В.Л. Микропроцессор i486. Архитектура и программирование. –М.: БИНОМ, 1993

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5209
Авторов
на СтудИзбе
430
Средний доход
с одного платного файла
Обучение Подробнее