MaxEdu.ru

Ассемблер

Содержание курсовой работы:
1. Описание и схема алгоритма.
2. Область применения.
3. Листинг программы с комментариями.
4. Список литературы.
1. Описание и схема алгоритма
Начало программы начинается с распределения памяти под код программы под данные и под стек. Прописав строку Model Small выделяется по 64кБ под данные и под код. В задании нам необходимо работать с 32-х битными переменными для чего прописываем строку .386.
Определившись с основными моментами начинаем ввод переменных. Переменной является x .
Ввод переменной x и обработка осуществляется в несколько этапов. Вначале вводится код числа стандартным прерыванием int 21 функцией 0 Ah , замет берётся каждый символ и преобразуется в десятичное значение и осуществляется определение десятков или единиц соответственно. В результате получаем введённое нами десятичное число.
Следующим этапом является вычисление полинома по формуле у=2* x-6y- 4. Во-первых возводим в квадрат “x”, затем умножаем на 2. Потом суммируем полученные значения и помещаем в переменную у, которая и является ответом данной задачи.
Завершающей стадией программы являются вывод переменной у и завершение программы. Вывод переменной осуществляется функцией outword , которая содержится в подключаемом модуле io . asm . Подключение данного модуля осуществляется командной include прописываемая до кода программы. Завершение программы осуществляется стандартным способом по стандартному DOS -кому прерыванию int 21 функцией 4С 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:
;*********-начало программы-********************************
movdx,@data;начальный адрес в сегмент данных
movds,dx
;*********-Вывод строки-*************************************
movdx,offsetvvx
movah,9h;Вывод строки 'Введите x'
int 21h
;********-Ввод числа-****************************************
mov ah,1h
int 21h
sub al,30h
push ax
;*********-Вывод строки-*************************************
mov dx,offset vvy
movah,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
sbbdx,cx
;Результат DX,AX
xorcx,cx
mov bx,word ptr (four+2) ;dx = Результат
sub ax,bx
sbb dx,cx
;Результат DX,AX
movz,dx
movz+2,ax
;**********-Завершение работы программы-**********************
movdx,offsetotvet;Вывод сообщения "Ответ"
movah,9h
int 21h
outwordz;Процедура вывода
outword z+2
mov ax,4c00h
int 21h
end main
4.Список литературы:
1. Ефремов В.Д., Мелехин В.Ф., Дурандин К.П. и др. Вычислительные машины и системы. Учебник для вузов – 2М.: Высшая школа, 1994.
2. Ларионов А.М., Майоров С.А., Новиков Г.И. Вычислительные комплексы, системы, сети.// Учебник для вузов. – Л.: Энергоатомиздат, 1987.
3. Григорьев В.Л. Микропроцессор i486. Архитектура и программирование. –М.: БИНОМ, 1993

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать полную версию
Курсовые работы по информатике Содержание курсовой работы: 1. Описание и схема алгоритма. 2. Область применения. 3. Листинг программы с комментариями. 4. Список литературы. 1.
Оценок: 320 (Средняя 5 из 5)

Специалисты RetsCorp работают в digital-сфере более 7 лет. За это время мы разработали более 500+ успешных проектов. Основываясь на своем опыте и знании рынка, мы с уверенностью можем сказать, что будет работать, а что — нет. Заказывая создание лендинга для бизнеса в нашей студии, вы получаете работающие решения, необходимые именно вашему бизнесу.

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

© 2014 - 2022 MaxEdu.ru