Форум программистов, компьютерный форум, киберфорум
Фриланс
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 15.04.2020
Сообщений: 1
1

Выполнить лаборатурку по ассемблеру на emu8086

15.04.2020, 12:51. Просмотров 670. Ответов 5
Метки нет (Все метки)

Привет!

Необходимо сделать лабораторную работу на асм (fasm) в эмуляторе emu8086.



Задание под спойлером
Кликните здесь для просмотра всего текста

4. Используя прямую (первый вариант) и косвенную (второй вариант) адресацию, написать программы на ассемблере, выполняющие алгоритмы преобразований.
Примечания к кодированию программ:
1) программа с использованием прямой адресации будет похожа на приведенную в предыдущей лабораторной работе программу, только непосредственные значения смещений в командах должны измениться в соответствии с заданным алгоритмом;
2) для варианта косвенной адресации зашлите адреса начала массивов в базовый и индексный регистры, например командами:

MOV BX, SOURCE
MOV DI, DEST,

и далее используйте регистры BX и DI для адресации элементов массивов.
Провести отладку программы и проверить получаемые результаты.

4.1. Задать одномерный массив, состоящий из 10 элементов. Заполнить массив константами. Переместить заданный массив в другую область памяти (другой массив), поменяв местами элементы с четными и нечетными номерами (поставив каждый элемент с четным номером на место нечетного элемента и каждый элемент с нечетным номером – на место четного)
а) элементы массива – однобайтовые;
б) элементы массива – двухбайтовые;
4.2. Задать одномерный массив, состоящий из 10 элементов. Заполнить массив константами. Переместить в другую область памяти элементы с нечетными номерами
а) элементы массива – однобайтовые;
б) элементы массива – двухбайтовые;
4.3. Задать одномерный массив, состоящий из 10 элементов. Заполнить массив константами. Переместить в другую область памяти элементы с четными номерами
а) элементы массива – однобайтовые;
б) элементы массива – двухбайтовые;
4.4. Задать одномерный массив, состоящий из 10 элементов. Заполнить массив константами. Создать новый одномерный массив, поместив в него на место элементов с четными номерами элементы заданного массива с нечетными номерами и обнулив элементы нового массива с нечетными номерами
а) элементы массива – однобайтовые;
б) элементы массива – двухбайтовые;
4.5. Задать одномерный массив, состоящий из 10 элементов. Заполнить массив константами. Создать новый одномерный массив, поместив в него на место элементов с нечетными номерами элементы заданного массива с нечетными номерами и заполнив элементы нового массива с четными номерами максимальными значениями констант
а) элементы массива – однобайтовые;
б) элементы массива – двухбайтовые.

5. Разработать программу на языке ассемблера с использованием команд перехода и организации циклов
5.1. Преобразовать символьную строку заданной длины, изменив все строчные буквы латинского алфавита на прописные.
5.2. Определить, сколько цифровых и нецифровых символов присутствует в заданной символьной строке.
5.3. Определить, сколько символов кириллицы и латиницы присутствует в заданной символьной строке.
5.4. Определить, сколько знаков отношения (<,>,=) присутствует в заданной символьной строке.
5.5. Преобразовать заданную символьную строку, изменив прописные буквы латиницы на их порядковые номера в алфавите.
Примечание к кодированию заданий 5.1-5.5: при написании алгоритмов преобразований необходимо использовать таблицу кодов ASCII.
5.6. Подсчитать количество положительных и отрицательных элементов в заданном векторе и определить, каких элементов в векторе больше
а) элементы вектора однобайтовые;
б) элементы вектора двухбайтовые.
5.7. Подсчитать количество нулевых и ненулевых элементов в заданном векторе и определить, каких элементов в векторе больше
а) элементы вектора однобайтовые;
б) элементы вектора двухбайтовые.
5.8. Подсчитать количество неотрицательных элементов в заданном двумерном массиве
а) элементы массива однобайтовые;
б) элементы массива двухбайтовые.
5.9. Подсчитать количество неположительных элементов в заданном двумерном массиве
а) элементы массива однобайтовые;
б) элементы массива двухбайтовые.
5.10. Подсчитать количество положительных и отрицательных элементов в заданном двумерном массиве и определить, каких элементов в нем больше
а) элементы массива однобайтовые;
б) элементы массива двухбайтовые.
Примечание к кодированию пунктов 5.8-5.10: в программе необходимо реализовать такую конструкцию, как “вложенные циклы”. Кроме того, понятие массива и индексации массива весьма условны, ибо в памяти ЭВМ элементы массива располагаются последовательно, строка за строкой, в результате чего физическая структура двумерного массива и вектора (одномерного массива) оказываются одинаковыми. Отличие двумерного массива и вектора заключается в интерпретации области памяти, отведенной этим структурам. Наращивание индекса элемента структуры определяется алгоритмом обработки.

6. Задан массив чисел из 10 элементов (для двумерного 10х10) (элементы массива от 0
до 9)
6.1. Найти первый максимальный элемент вектора и вывести на экран его индекс:
а) элементы вектора однобайтовые;
б) элементы вектора двухбайтовые.
6.2. Найти максимальный элемент вектора и подсчитать и вывести на экран количество таких элементов
а) элементы вектора однобайтовые;
б) элементы вектора двухбайтовые.
6.3. Найти первый максимальный элемент двухмерного массива и вывести на экран его индекс:
а) элементы массива однобайтовые;
б) элементы массива двухбайтовые.
6.4. Найти сумму всех отрицательных элементов двухмерного массива, а среди положительных найти максимальный и вывести на экран его индекс:
а) элементы массива однобайтовые;
б) элементы массива двухбайтовые.
6.5. Найти сумму всех положительных элементов двухмерного массива, а среди отрицательных найти минимальный и указать его местоположение:
а) элементы массива однобайтовые;
б) элементы массива двухбайтовые.
6. Найти минимальный и максимальный элементы двухмерного массива и вывести на экран их индекс:
а) элементы массива однобайтовые;
б) элементы массива двухбайтовые.

Примечания к реализации вывода значений элементов и их индексов на экран дисплея: - десятичная цифра отличается от символа этой цифры на 30h, в чем легко убедиться, изучив таблицу кодов ASCII. Например, если искомый максимальный элемент записан в переменную max, то фрагмент программы для его вывода на экран дисплея может быть следующим:

mov dl, max
add dl, 02h
int 21h

- предыдущий фрагмент применим в случае, если максимальное значение элемента является однозначным. Если элементы массива двухзначные (лежат в диапазоне от 10 до 99), то сначала необходимо выделить отдельные цифры, а затем их последовательно их распечатать:

mov al, max
cbw ;преобразуем байт в полное слово
div byte c ;константа с объявлена в сегменте данных как c equ 10
mov dl,al ;старшую цифру помещаем в dl add dl, 02h ; и выводим ее на экран
int 21h
mov dl,ah ;младшую цифру помещаем в dl
add dl, 02h ; и выводим ее на экран
int 21h
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2020, 12:51
Ответы с готовыми решениями:

Нужно выполнить первую лабораторную работу по Ассемблеру (FAR manager)
Суть такова: Познакомился с FAR, посмотрел её функции и нужно составить отчёт СО СКРИНШОТАМИ...

[emu8086] Создать матрицу по заданному образцу (переделать образец для emu8086)
Нужно данный код переделать для ему8086. Задать матрицу по заданному образцу@stack segment para...

Протабулировать функцию в emu8086
Табулирование функции — это вычисление значений функции при изменении аргумента от некоторого...

Сформировать матрицу (emu8086)
Сформировать матрицу порядка n по заданному образцу(Заранее спасибо):

5
1769 / 747 / 153
Регистрация: 03.06.2009
Сообщений: 5,245
15.04.2020, 12:51 2
JhonyBoy, обращайтесь e-mail: informatik101@mail.ru
Telegram: @alexcoder1
vk.com/alexcoder1
1576 / 809 / 146
Регистрация: 13.06.2015
Сообщений: 2,981
15.04.2020, 14:27 3
JhonyBoy, пишите ВК.
242 / 161 / 89
Регистрация: 07.11.2019
Сообщений: 557
15.04.2020, 14:59 4
JhonyBoy, пишите bayram.holiday@yandex.ru
162 / 140 / 15
Регистрация: 21.04.2013
Сообщений: 2,964
16.04.2020, 03:51 5
ТЗ, срок, бюджет: larbossfreelance@yandex.ru Метка: freelance Указывайте ссылку на тему форума.
198 / 96 / 48
Регистрация: 21.02.2011
Сообщений: 3,918
17.04.2020, 11:03 6
могу помочь
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2020, 11:03

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Emu8086 Удалить буквы
Добрый день! Помогите, пожалуйста, написать код. Задание вот такое: в каждом предыдущем слове...

Работа с каталогами в EMU8086
Есть программа, она выводит второй фaйлик в kaталогe. Хочу сделать .exe файл. В ТАСМЕ всё работает...

[emu8086] Рисование круга
Здравствуйте! Помогите пожалуйста решить следующую проблему: Мне нужно округлить низ квадрата. В...

EMU8086 как установить
Как у становить emu8086, я его скачала ,а дальше что?

Emu8086 + Visual Studio [C]
Написать программу на Си, вызывающую процедуру из ассемблерного модуля. а) Ассемблерный модуль, ...

Emu8086 int27h Несовместимы ?
Добрый вечер. Ребят, есть код программы, вроде как даже рабочий, хочу запустить на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.