- •Include macro.Lib ;Подключение библиотеки
- •Скриншот Программы №1
- •Скриншот Программы №2
- •Скриншот Программы №3
- •Include macro.Lib ;Подключение библиотеки
- •Include macro.Lib ;Подключение библиотеки
- •Include macro.Lib ;Подключение библиотеки
- •Include macro.Lib ;Подключение библиотеки
- •Include macro.Lib ;Подключение библиотеки
- •Скриншот программы
Скриншот Программы №1
Скриншот Программы №2
Скриншот Программы №3
Отчёт №3
Циклы
Теория
Задача №1
Условие
С клавиатуры вводится последовательность из Nцелых чисел. Определить количество одинаковых соседних элементов.
Листинг Программы
includemacro.lib ;Подключение библиотеки
stecsegment 'stack' ;Начало сегмента стека
dw 256 dup(?) ;Выделение в памяти 256 двойных байт
stecends ;Конец сегмента стека
datasegment 'data' ;Начало сегмента данных
xdb ? ;Объявление переменной
x1 db 'Vvediteelementi $' ;Сообщение
ndw ? ;Объявление переменной
n1 db 'Vvediten=$';Сообщение
ydb ? ;Объявление переменной
kdb 0 ;Объявление переменной
o1 db 'Posledovatelras =$' ;Сообщение
kon1 db ? ;Объявление переменной
dataends ;Конец сегмента данных
codesegment 'code' ;Начало сегмента код
beginprocfar ;Начало программы
Assumess:stec,ds:data,cs:code ;Задает адрес каждого сегмента
movax,data ;Команда начальной инициализации
movds,ax ;Команда начальной инициализации
cls ;Очистка экран
move_cursor 0,0 ;Курсор на (0,0)
messagen1 ;Вывод сообщения
key_$2BIN ;Ввод переменной
movn,ax ;Пересылка в ячейку
subax,1 ;Вычитание ячейки
movn,ax ;Пересылка в ячейку
crlf ;Переход на след. строку
movcx,n ;Пересылка в ячейку
messagex1 ;Вывод сообщения
key_$2BIN ;Ввод переменной
movy,al ;Пересылка в ячейку
crlf ;Переход на след. строку
m: ;Метка m
messagex1 ;Вывод сообщения
key_$2BIN ;Ввод переменной
movx,al ;Пересылка в ячейку
crlf ;Переход на след. строку
cmpal,y ;Сравнение рабочей ячейки
jlm1 ;Если меньше, то на метку m1
JGm1 ;Если больше, то на метку m1
inck ;Увеличивает на 1
m1: ;Метка m1
moval,x ;Пересылка в ячейку
movy,al ;Пересылка в ячейку
loopm4 ;организация цикла со счетчиком в регистре cx
JMPm5 ;Переход на метку
m4: ;Метка m4
JMP m ;Переход на метку
m5: ;Метка m5
messageo1 ;Вывод сообщения
moval,k ;Пересылка в ячейку
CBW ;Расширить до 2 байт
cmpax,n ;Сравнение рабочей ячейки
print_number ;Вывод значения
crlf ;Переход на след. строку
movax,4c00h ;Задание прерывание на выход из DOS
int 21h ;Прерывание
ret ;Возврат
beginendp ;Конец программы
codeends ;Конец сегмента кода
endbegin ;Конец
Скриншот программы
Задача №2
Условие
С клавиатуры вводится последовательность из Nцелых чисел, 0-конец последовательности. Определить max элементпоследовательности.
Листинг Программы
includemacro.lib ;Подключение библиотеки
stecsegment 'stack' ;Начало сегмента стека
dw 256 dup(?) ;Выделение в памяти 256 двойных байт
stecends ;Конец сегмента стека
datasegment 'data' ;Начало сегмента данных
xdb ? ;Объявление переменной
x1 db 'Vvediteelementi $' ;Сообщение
maxdw -32767 ;Объявление переменной
o1 db 'max=$' ;Сообщение
dataends ;Конец сегмента данных
codesegment 'code' ;Начало сегмента код
beginprocfar ;Начало программы
Assumess:stec,ds:data,cs:code ;Задает адрес каждого сегмента
movax,data ;Команда начальной инициализации
movds,ax ;Команда начальной инициализации
cls ;Очистка экран
move_cursor 0,0 ;Курсор на (0,0)
m: ;Метка m
messagex1 ;Вывод сообщения
key_$2BIN ;Ввод переменной
movx,ax ;Пересылка в ячейку
crlf ;Переход на след. строку
cmpax,0 ;Сравнение рабочей ячейки
JEcon1 ;Если равно, то на метку con1
crlf ;Переход на след. строку
cmpax,max ;Сравнение рабочей ячейки
JLm1 ;Если меньше, то на метку m1
movmax,ax ;Пересылка в ячейку
m1: ;Метка m1
jmpm ;Переход на метку
con1: ;Меткаcon1
messageo1 ;Выводсообщения
movax,max ;Пересылкавячейку
print_number ;Выводзначения
crlf ;Переходнаслед. Строку
movax,4c00h ;Задание прерывание на выход из DOS
int 21h ;Прерывание
ret ;Возврат
beginendp ;Конец программы
codeends ;Конец сегмента кода
endbegin ;Конец
Скриншот программы
Отчёт №4
Одномерные массивы
Теория
Задача №1
В одномерном массиве найти сумму элементов массива с нечетными номерами.
Листинг Программы
