Воскресенье, 24.11.2024, 15:41
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Системное программное обеспечение. Вариант №4
engineerklubДата: Четверг, 18.11.2021, 08:15 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 28530
Репутация: 0
Статус: Offline
Системное программное обеспечение. Вариант №4

Тип работы: Работа Лабораторная
Форматы файлов: Microsoft Word
Сдано в учебном заведении: СибГУТИ

Описание:
Лабораторная работа 1
Вычисление арифметических выражений
Вариант 4 (-А / 2 + 4·(В + 1) + 3·С)
Задание 1

Изучите приведенную ниже программу на языке ассемблера. Программа вычисляет выражение 5*(3+8*9) и результат заносит в регистр АХ.
TITLE Program5

;название программы

.MODEL small

;отводим под стек и под данные по 64Кб

.STACK 100h

;отмечаем начало сегмента стека

.DATA

;отмечаем начало сегмента данных

A DW 5 ;

B DW 3 ;

C DW 8 ;

D DW 9 ;

.CODE

;отмечаем начало сегмента кодов

main PROC

MOV AX, @data

;копируем адрес

MOV DS, AX

;сегмента данных

mov AX, C

mov BX, D

mul BX

;Умножение 8*9. Результат в АХ

add AX, B

; прибавление 3 В АХ 3+8*9

mov BX, A

mul BX

;умножение на 5

MOV AX,4C00h

;выход

INT 21h

;из программы

main ENDP

END main

Выполните отладку программу с использованием отладчика TurboDebugger. В ходе отладки посмотрите как изменяются регистры в процессе выполнения программы. Чему равно значение регистра АХ перед выходом из программы? Совпадает ли результат вычислений с реальным значением выражения?
Задание 2

Используя предложенную выше программу, разработайте программу, которая вычисляет заданное выражение. Исполнить программу с несколькими (три - четыре) наборами исходных данных, проверить правильность результатов. Числа в наборе данных должны быть различными, т.е. положительными, отрицательными, нулевыми. (В отчете обязательно привести результаты вычислений).

Номер задания выбирается в соответствии с последней цифрой пароля.

Лабораторная работа 2
Оператор цикла LOOP. Команды условных переходов

Вариант 4 Составьте программу для подсчета суммы 1+3+5+…+(2·N+1), где N – произвольное положительное число. Допускается использование в программе команд условных и безусловных переходов и оператора цикла

Задание 1

Изучите приведенную ниже программу на языке ассемблера. Программа суммирует числа от 1 до 10 и результат заносит в регистр АХ.
TITLE Program2

;название программы

.MODEL small

;отводим под стек и под данные по 64Кб

.STACK 100h

;отмечаем начало сегмента стека

.DATA

;отмечаем начало сегмента данных

.CODE

;отмечаем начало сегмента кодов

main PROC

MOV AX, @data

;копируем адрес

MOV DS, AX

;сегмента данных

CLD

xor AX,AX

mov CX, 10

L1:

add AX, CX

loop L1

; здесь в цикле суммируются числа

; начиная с 10 и заканчивая 1

MOV AX,4C00h

;выход

INT 21h

;из программы

main ENDP

END main

Выполните отладку программу с использованием отладчика TurboDebugger. Посмотрите как изменяются регистры в процессе выполнения программы.Чему равно значение регистра АХ перед выходом из программы? регистра СХ? Совпадает ли результат вычислений с реальным значением выражения?
Задание 2

Используя предложенную выше программу, выполните второе задание. Исполнить программу с несколькими (три - четыре) значениями параметра N, проверить правильность результатов. В отчете обязательно привести результаты вычислений.

СКАЧАТЬ
 
engineerklubДата: Четверг, 18.11.2021, 08:15 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 28530
Репутация: 0
Статус: Offline
Лабораторная работа 3
Работа с массивами данных

Вариант 4 Найти сумму абсолютных величин в массиве чисел и занести ее в DX.

Цель работы: Научиться обрабатывать массивы данных.

Порядок выполнения работы:
ВАЖНО: Прочитайте требования к выполнению и оформлению лабораторных работ.

Задание 1

Изучите приведенную ниже программу на языке ассемблера. Программа вычисляет максимальный элемент массива и результат заносит в переменную регистр Max.
TITLE Program3

;название программы

.MODEL small

;отводим под стек и под данные по 64Кб

.STACK 100h

;отмечаем начало сегмента стека

.DATA

;отмечаем начало сегмента данных

A DW 5, 3, 9, 4, 5

Max DW 0

;описание массива из 5 элементов

;описание переменной Max

.CODE

;отмечаем начало сегмента кодов

main PROC

mov AX, @data

;копируем адрес

mov DS, AX

;сегмента данных

mov SI, OFFSET A

;заносим в SI начало массива А

mov CX, 4

;в СХ заносим количество итераций

cld

;устанавливаем прямой порядок обработки массива

mov AX,

[SI]mov Max, AX

L1:

;в Мах заносим первый элемент массива

inc SI

;сдвигаемся по массиву к следующему

inc SI

;элементу

mov AX,

[SI];заносим в АХ текущий элемент массива

cmp AX, Max

jbe L2

;сравниваем АХ с Мах

;если меньше или равно, переходим на L2

mov Max, AX

L2:

;иначе запоминаем новый максимум

loop L1

;циклически повторяем все действия

mov AX,4C00h

;выход

int 21h

;из программы

main ENDP

END main

Выполните отладку программу с использованием отладчика TurboDebugger. Посмотрите как изменяются регистры в процессе выполнения программы.Чему равно значение переменной Max перед выходом из программы? Совпадает ли результат вычислений с реальным значением максимального элемента массива?
Задание 2

Используя предложенную выше программу, выполните второе задание. Исполнить программу с несколькими (три - четыре) различными (по количеству и по составу) массивами данных, проверить правильность результатов.

СКАЧАТЬ
 
engineerklubДата: Четверг, 18.11.2021, 08:16 | Сообщение # 3
Генералиссимус
Группа: Администраторы
Сообщений: 28530
Репутация: 0
Статус: Offline
Тип работы: Работа Контрольная
Форматы файлов: Microsoft Word
Сдано в учебном заведении: СибГУТИ

Описание:
Задание
Написать и отладить программу на языке ассемблера. В программе описать процедуру, которая суммирует элементы массива и результат выводит на экран. Параметры передавать следующим образом:
в ВХ – смещение массива;
в СХ – число элементов в массиве;
в АХ – результат вычислений (сумма элементов массива).
В основной программе вызвать описанную процедуру для двух разных массивов.

СКАЧАТЬ
 
  • Страница 1 из 1
  • 1
Поиск:

Рейтинг@Mail.ru