Ten dw 10

ОТЧЕТ

По курсу «Вычислительные системы, сети и телекоммуникации»

На Тему:

«Выполнение индивидуального задания

НА ЯЗЫКЕ ASSEMBLER »

Выполнили:

студенты группы И-201

Баранник Валерия

Пехуров Александр

Преподаватель:

Ильина О. П.

Санкт – Петербург

Решение уравнения на языке программирования Assembler:

title prog.asm ;начало программы

stacksg segment stack ;Инициализация стековой памяти в сегменте стека

db 64 dup (?);стек типа word на 64 байта заполненный символами

stacksg ends;конец стекового сегмента

datasg segment;сегмент задания переменных

m1 db 'Vvedite X $';ввод значения Xn с клавиатуры

db 10,13,'$'10–возвращает каретку в начало строки,13 – сдвигает каретку на строку ниже

m2 db 10,13,'Vvedite X konech $' ввод значения Xk с клавиатуры, типа byte

db 10,13,'$';10–возвращает каретку в начало строки,13 – сдвигает каретку на строку ниже

m22 db 10,13,'Vvedite delta X $' ввод значения Xm с клавиатуры, тип byte

db 10,13,'$'' ;10–возвращает каретку в начало строки,13 – сдвигает каретку на строку ниже

m3 db ' X Y $'

db 10,13,'$''' ;10–возвращает каретку в начало строки,13 – сдвигает каретку на строку ниже

D dw ? начальное, типа word, изначальное значение

yn dw 1 значение числителя дроби, типа word, изначальное значение

N dw ? шаг приращения, типа word, изначальное значение

y dw ? конечное, типа word, изначальное значение

t dw ? значения знаменателя дроби, типа word, изначальное значение

Xd dw ?

Xk dw ?

Ft10 dw 1

ten dw 10

sr db 6 dup(0),'$'

srk db 10,13,'$'

srb db 10 dup (0), '$'

buf db 5,0,0,0,0,0,0,0 буфер типа byte на 5 символа

datasg ends;конец сегмента задания переменных

codesg segment;сегмент кодов

assume cs:codesg, ds:datasg, ss:stacksg Назначение сегментных регистров в сегменте кодов

main proc far Организация главной программной процедуры, far (за пределами одного сегмента)

push ds ;запись значения DS в стек

sub ax,ax ;вычитание АХ из АХ – обнуление АХ

push ax;запись значения AX в стек

mov ax,datasg;помещение datasg в регистр AX

mov ds,ax;Запись адреса префикса программного сегмента (PSP) в стек

mov ah,9; запрос на ввод xn

mov dx,offset m1 помещает значение смещения адреса Xn в регистр DX

int 21h;выполняет прерывание № 21Н программы

mov AH,0AH ввод xn, 0 – ввод с клавиатуры

mov dx,offset buf;помещает значение смещения адреса буфера в регистр DX

int 21h;выполняет прерывание № 21Н программы

call str2bin;вызов процедуры str2bin

mov d,di;помещает значение DI в xn

mov ah,9;запрос на ввод xk

mov dx,offset m2;помещает значение смещения адреса Xk в регистр DX

int 21h;выполняет прерывание № 21Н программы

mov AH,0AH;ввод xk, 0 – ввод с клавиатуры

mov dx,offset buf;помещает значение смещения адреса буфера в регистр DX

int 21h;выполняет прерывание № 21Н программы

call str2bin;вызов процедуры str2bin

mov xk,di;помещает значение регистра DI в xk

mov ah,9;запрос на ввод xm

mov dx,offset m22;помещает значение смещения адреса Xm в регистр DX

int 21h;выполняет прерывание № 21Н программы

mov AH,0AH;ввод xm, 0 – ввод с клавиатуры

mov dx,offset buf;помещает значение смещения адреса буфера в регистр DX

int 21h;выполняет прерывание № 21Н программы

call str2bin;вызов процедуры str2bin

mov xd,di;помещает значение регистра DI в xm

Наши рекомендации