Лабораторная работа № 5 по дисциплине: Организация ЭВМ и систем исследование организации переходов в программе
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Лабораторная работа No5.
Исследование организации переходов в программе
1. ЦЕЛЬ РАБОТЫ
Изучение механизма передачи управления в программе; получение практических навыков отладки разветвляющихся программ.
2. РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА
2.1. Абель П. Язык Ассемблера для IBM PC и программирования /Пер. c англ. М.:Высш. шк., 1992,c 93-115.
2.2. Белецкий Я. Энциклопедия языка Си: Пер. c польск.-М.:Мир,1992,с 394-406.
3. ПОДГОТОВКА К РАБОТЕ
3.1. Изучить методические указания.
3.2. Подготовить ответы на контрольные вопросы.
3.3. Проанализировать приведенную ниже программу CHANGE, дополнить каждую команду комментарием.
3.4. Ввести свой собственный текст на английском языке, содержащий строчные и заглавные буквы.
3.5. Изменить программу так, чтобы в соответствии с вариантом задания (Таб. 5.1.) она обеспечивала:
Таблица 5.1.
No
варианта
Заменить
1
а) ‘a’ на ‘A’
б) все заглавные строчными
2
а) строчные от ‘a’ до ‘f’ заглавными
б) все заглавные строчными
3
а) строчные ‘b’и’c’ заглавными
б) все заглавные строчными
4
а) строчные от ‘f’ до’z’ заглавными
б) все заглавные строчными
5
а) символ ’( ’ на символ ‘) ’
б) все заглавные строчными
6
а) ‘Z’ на ‘z’
б) все заглавные строчными
7
а) символ ’/ ’ на символ ‘\ ’
б) все заглавные строчными
8
а) ‘a’ на ‘A’
б) все заглавные строчными
9
а) строчные от ‘a’ до ‘f’ заглавными
б) все заглавные строчными
0
а) строчные ‘b’и’c’ заглавными
б) все заглавные строчными
4. КОНТРОЛЬНЫЕ ВОПРОСЫ
4.1. Назовите три типа команды безусловного перехода.
4.2. Какой может быть длина перехода в разных типах команды JMP?
4.3. Содержимое каких регистров модифицируется при выполнении безусловных переходов разных типов?
4.4. Какова максимальная длина условного перехода?
4.5. Каким образом может быть указан адрес перехода?
4.6. Какие флаги могут быть использованы в командах условного перехода после выполнения команды сложения?
4.7. Приведите возможные команды условных переходов, если после сравнения беззнаковых чисел D1иD2 оказалось: а)D1=D2, б) D1£ D2 , в) D1>D2.
4.8. Приведите возможные команды условных переходов, если после сравнения чисел со знаками P1иP2 оказалось: а) Р1 1Р2, б) Р1<Р2, в) Р1 3 Р2.
4.9. Какие команды могут использоваться для организации циклов?
4.10. Какова максимальная длина переходов при организации циклов?
4.11. Какие признаки, кроме СХ=0, могут быть использованы при организации циклов?
4.12. Как осуществляется переход к процедурам разных типов?
4.13. Назовите варианты команды возврата из процедуры.
5.ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
Ниже приведена программа CHANGE, которая в заданной текстовой строке заменяет латинские строчные буквы заглавными.
Коды строчных и заглавных букв английского алфавита можно найти в Таблице кодировки символов (Приложение, с 23).
5.1. Введите программу, используя текстовый редактор. Оттранслируйте и скомпонуйте программу в режимах TASM/ZI, TLINK/V.
5.2. Загрузите отладчик и программу. Произведите ее пошаговое выполнение. Наблюдайте результаты выполнения команд.
5.3. Установите ловушку на одной из команд подпрограммы. В точке останова отройте в окне CPU локальное меню и выберите пункт CALLER. Пронаблюдайте исполнение этой инструкции.
5.4. Пронаблюдайте результат выполнения программы в окне WINDOW (режим USER SCREEN).
5.5. Введите вариант программы из домашнего задания, обеспечивающий замену заглавных букв строчными.
5.6. Убедитесь в работоспособности второго варианта программы.
6.ПРИМЕР ПРОГРАММЫ
TITLE CHANGE - ЗАМЕНА СТРОЧНЫХ БУКВ ЗАГЛАВНЫМИ
;---------------------------------------------------------
DATASG SEGMENT PARA
MYTEXT DB 'Our Native Town',13,10,'$'
DATASG ENDS
STACKSG SEGMENT 'Stack'
DB 12 DUP(?)
STACKSG ENDS
CODESG SEGMENT PARA 'Code'
BEGIN PROC FAR
ASSUME SS:STACKSG,CS:CODESG,DS:DATASG
PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATASG
MOV DS,AX
LEA BX,MYTEXT
MOV CX,10H
MT1: MOV AH,[BX]
CMP AH,61H
JB MT2
CMP AH,7AH
JA MT2
CALL COR
MT2: INC BX
LOOP MT1
LEA DX,MYTEXT
MOV AH,09H
INT 21H
RET
BEGIN ENDP
COR PROC NEAR
NOP
AND AH,0DFH
MOV [BX],AH
RET
COR ENDP
CODESG ENDS
END BEGIN
7. КРАТКАЯ ИНФОРМАЦИЯ О РАБОТЕ ТУРБО ОТЛАДЧИКА
Там, где это возможно, команды JMP и CALL выводятся в символическом виде. Если CS:IP указывают на команду JMP или команду условного перехода, то стрелка (стрелка вверх или вниз), показывающая направление перехода, будет выводиться только в том случае, если выполнение команды приведет к переходу.
Для перехода в локальное меню области Code окна CPU нужно нажать клавиши Alt-F10.
Локальное меню имеет вид:
Команда Follow (Следующая) позиционирует по целевому адресу подсвеченной в данный момент инструкции. Область кода позиционируется заново, чтобы вывести код по адресу, указанному в подсвеченной в данный момент инструкции, по которому будет передано управление. Для условных переходов адрес показывается в случае выполнения перехода. Эту команду можно использовать с инструкциями CALL, JMP, инструкциями условных переходов и инструкциями INT.
Команда Previous (Предыдущий) восстанавливает область кода в то состояние (позицию), которое она имела до выполнения команды Follow.
Команда Caller (Вызывающая программа) позиционирует вас на инструкцию, по которой была вызвана текущая подпрограмма или прерывание.
Данная команда будет работать не всегда. Если процедура обработки прерывания или подпрограмма занесла в стек элементы данных, иногда Турбо отладчик не может определить, откуда был выполнен вызов.
Команда Previous (Предыдущий) восстанавливает область кода в то состояние (позицию), которое она имела до выполнения команды Caller.
Исследование организации переходов в программе
1. ЦЕЛЬ РАБОТЫ
Изучение механизма передачи управления в программе; получение практических навыков отладки разветвляющихся программ.
2. РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА
2.1. Абель П. Язык Ассемблера для IBM PC и программирования /Пер. c англ. М.:Высш. шк., 1992,c 93-115.
2.2. Белецкий Я. Энциклопедия языка Си: Пер. c польск.-М.:Мир,1992,с 394-406.
3. ПОДГОТОВКА К РАБОТЕ
3.1. Изучить методические указания.
3.2. Подготовить ответы на контрольные вопросы.
3.3. Проанализировать приведенную ниже программу CHANGE, дополнить каждую команду комментарием.
3.4. Ввести свой собственный текст на английском языке, содержащий строчные и заглавные буквы.
3.5. Изменить программу так, чтобы в соответствии с вариантом задания (Таб. 5.1.) она обеспечивала:
Таблица 5.1.
No
варианта
Заменить
1
а) ‘a’ на ‘A’
б) все заглавные строчными
2
а) строчные от ‘a’ до ‘f’ заглавными
б) все заглавные строчными
3
а) строчные ‘b’и’c’ заглавными
б) все заглавные строчными
4
а) строчные от ‘f’ до’z’ заглавными
б) все заглавные строчными
5
а) символ ’( ’ на символ ‘) ’
б) все заглавные строчными
6
а) ‘Z’ на ‘z’
б) все заглавные строчными
7
а) символ ’/ ’ на символ ‘\ ’
б) все заглавные строчными
8
а) ‘a’ на ‘A’
б) все заглавные строчными
9
а) строчные от ‘a’ до ‘f’ заглавными
б) все заглавные строчными
0
а) строчные ‘b’и’c’ заглавными
б) все заглавные строчными
4. КОНТРОЛЬНЫЕ ВОПРОСЫ
4.1. Назовите три типа команды безусловного перехода.
4.2. Какой может быть длина перехода в разных типах команды JMP?
4.3. Содержимое каких регистров модифицируется при выполнении безусловных переходов разных типов?
4.4. Какова максимальная длина условного перехода?
4.5. Каким образом может быть указан адрес перехода?
4.6. Какие флаги могут быть использованы в командах условного перехода после выполнения команды сложения?
4.7. Приведите возможные команды условных переходов, если после сравнения беззнаковых чисел D1иD2 оказалось: а)D1=D2, б) D1£ D2 , в) D1>D2.
4.8. Приведите возможные команды условных переходов, если после сравнения чисел со знаками P1иP2 оказалось: а) Р1 1Р2, б) Р1<Р2, в) Р1 3 Р2.
4.9. Какие команды могут использоваться для организации циклов?
4.10. Какова максимальная длина переходов при организации циклов?
4.11. Какие признаки, кроме СХ=0, могут быть использованы при организации циклов?
4.12. Как осуществляется переход к процедурам разных типов?
4.13. Назовите варианты команды возврата из процедуры.
5.ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
Ниже приведена программа CHANGE, которая в заданной текстовой строке заменяет латинские строчные буквы заглавными.
Коды строчных и заглавных букв английского алфавита можно найти в Таблице кодировки символов (Приложение, с 23).
5.1. Введите программу, используя текстовый редактор. Оттранслируйте и скомпонуйте программу в режимах TASM/ZI, TLINK/V.
5.2. Загрузите отладчик и программу. Произведите ее пошаговое выполнение. Наблюдайте результаты выполнения команд.
5.3. Установите ловушку на одной из команд подпрограммы. В точке останова отройте в окне CPU локальное меню и выберите пункт CALLER. Пронаблюдайте исполнение этой инструкции.
5.4. Пронаблюдайте результат выполнения программы в окне WINDOW (режим USER SCREEN).
5.5. Введите вариант программы из домашнего задания, обеспечивающий замену заглавных букв строчными.
5.6. Убедитесь в работоспособности второго варианта программы.
6.ПРИМЕР ПРОГРАММЫ
TITLE CHANGE - ЗАМЕНА СТРОЧНЫХ БУКВ ЗАГЛАВНЫМИ
;---------------------------------------------------------
DATASG SEGMENT PARA
MYTEXT DB 'Our Native Town',13,10,'$'
DATASG ENDS
STACKSG SEGMENT 'Stack'
DB 12 DUP(?)
STACKSG ENDS
CODESG SEGMENT PARA 'Code'
BEGIN PROC FAR
ASSUME SS:STACKSG,CS:CODESG,DS:DATASG
PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATASG
MOV DS,AX
LEA BX,MYTEXT
MOV CX,10H
MT1: MOV AH,[BX]
CMP AH,61H
JB MT2
CMP AH,7AH
JA MT2
CALL COR
MT2: INC BX
LOOP MT1
LEA DX,MYTEXT
MOV AH,09H
INT 21H
RET
BEGIN ENDP
COR PROC NEAR
NOP
AND AH,0DFH
MOV [BX],AH
RET
COR ENDP
CODESG ENDS
END BEGIN
7. КРАТКАЯ ИНФОРМАЦИЯ О РАБОТЕ ТУРБО ОТЛАДЧИКА
Там, где это возможно, команды JMP и CALL выводятся в символическом виде. Если CS:IP указывают на команду JMP или команду условного перехода, то стрелка (стрелка вверх или вниз), показывающая направление перехода, будет выводиться только в том случае, если выполнение команды приведет к переходу.
Для перехода в локальное меню области Code окна CPU нужно нажать клавиши Alt-F10.
Локальное меню имеет вид:
Команда Follow (Следующая) позиционирует по целевому адресу подсвеченной в данный момент инструкции. Область кода позиционируется заново, чтобы вывести код по адресу, указанному в подсвеченной в данный момент инструкции, по которому будет передано управление. Для условных переходов адрес показывается в случае выполнения перехода. Эту команду можно использовать с инструкциями CALL, JMP, инструкциями условных переходов и инструкциями INT.
Команда Previous (Предыдущий) восстанавливает область кода в то состояние (позицию), которое она имела до выполнения команды Follow.
Команда Caller (Вызывающая программа) позиционирует вас на инструкцию, по которой была вызвана текущая подпрограмма или прерывание.
Данная команда будет работать не всегда. Если процедура обработки прерывания или подпрограмма занесла в стек элементы данных, иногда Турбо отладчик не может определить, откуда был выполнен вызов.
Команда Previous (Предыдущий) восстанавливает область кода в то состояние (позицию), которое она имела до выполнения команды Caller.
Дополнительная информация
Работа зачтена, без замечаний. 2014
Похожие материалы
Лабораторная работа №5 по дисциплине "Организация ЭВМ и систем". Исследование организации переходов в программе. Вариант 2.
Doctor_Che
: 9 февраля 2012
ЦЕЛЬ РАБОТЫ
Изучение механизма передачи управления в программе;
получение практических навыков отладки разветвляющихся программ.
ПОДГОТОВКА К РАБОТЕ
1. Изучить методические указания.
2. Подготовить ответы на контрольные вопросы.
3. Проанализировать приведенную ниже программу CHANGE, дополнить каждую команду комментарием.
4. Ввести свой собственный текст на английском языке, содержащий строчные и заглавные буквы.
5. Изменить программу так, чтобы в соответствии с вариантом задания
(Таб 5.1
40 руб.
Лабораторная работа №5 по дисциплине: "Организация ЭВМ и систем". Тема: "Исследование организации переходов в программе". Вариант 9
dubhe
: 22 февраля 2015
Лабораторная работа No5 по дисциплине: "Организация ЭВМ и систем". Тема: "Исследование организации переходов в программе".
Вариант 9
Цель работы: Изучение механизма передачи управления в программе; получение практических навыков отладки разветвляющихся программ.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Назовите три типа команды безусловного перехода.
2. Какой может быть длина перехода в разных типах команды JMP?
3. Содержимое каких регистров модифицируется при выполнении безусловных переходов разных типов?
4. К
200 руб.
Лабораторная работа №5 по дисциплине: “Информатика”.
Amor
: 2 ноября 2013
Лабораторная работа № 5. Решение систем линейных уравнений
Задание
Решить систему линейных уравнений:
x1-x2+x3=3
2x1+x2+x3=11
x1+x2+x3=8
120 руб.
Лабораторная работа № 5 по дисциплине "ООП"
1231233
: 31 января 2012
Тема: Принцип полиморфизма. Использование виртуальных методов.
Задание:
Внести следующие изменения в программу, разработанную в лабораторной работе №4:
Использовать общий метод движения фигур, описанный в родительском классе самого верхнего уровня иерархии (т.е. описание самого метода движения Move убрать из всех классов, кроме самого верхнего родительского).
Использовать виртуальные методы для корректной работы программы после внесенных изменений.
Рекомендации к выполнению:
См. пример 2.7 (§1
23 руб.
Лабораторная работа 5 по дисциплине "Программирование". Заочное
Juehtw0120
: 26 апреля 2023
Дана матрица Е размером m*n. Вычислить суммы элементов каждого столбца. Определить наибольшее значение этих сумм и номер соответствующего столбца.
100 руб.
Лабораторная работа №5 по дисциплине: «Операционные системы»
Мария114
: 24 мая 2017
Задание
Написать программу, которая будет работать с видеопамятью. Можно выполнить любое из приведенных ниже заданий. Независимо от конкретного задания программа должна работать резидентно. Текст, присутствовавший на экране до запуска программы, не должен портиться никаким образом.
В программе следует использовать два обработчика прерываний – прерываний таймера и прерываний клавиатуры. Прерывания таймера регламентируют скорость перемещения объекта, причем параметр, характеризующий величину ско
100 руб.
Лабораторная работа № 5 по дисциплине: Дискретная математика
IT-STUDHELP
: 29 января 2017
Лабораторная работа № 5 Поиск компонент связности графа
Граф задан его матрицей смежности. Требуется определить количество компонент связности этого графа (по материалам главы 3, п. 3.2.3 и 3.4). При этом должны быть конкретно перечислены вершины, входящие в каждую компоненту связности.
Выбор алгоритма поиска компонент связности – произвольный. Например, приветствуется использование одного из видов обхода (поиск в глубину или поиск в ширину по материалам п. 3.4.3).
Пользователю должна быть пр
48 руб.
Лабораторная работа №5 по дисциплине "Защита информации"
kanchert
: 17 мая 2015
Тема: Криптографические протоколы (Глава 6)
Задание:
Выполнить компьютерную реализацию протокола "Электронные деньги". Все необходимые параметры выбрать самостоятельно.
Другие работы
ИГ.03.21.01 - Призма с вырезом
Чертежи СибГАУ им. Решетнева
: 28 июля 2023
Все выполнено в программе КОМПАС 3D v16
Вариант 21
ИГ.03.21.01 - Призма с вырезом
Построить три проекции геометрического тела. Показать линии невидимого контура.
В состав работы входят пять файлов:
- 3D модель геометрического тела, расширение файла *.m3d (для открытия требуется программа компас не ниже 16 версии);
- чертеж формата А3 в трёх видах с сохранением всех линий построения, все проекции вершин призмы обозначены буквами, вершин выреза - цифрами, расширение файла *.cdw (для открытия тр
100 руб.
Контрольная работа по гражданскому процессуальному процессу
Алёна51
: 5 октября 2017
1. Законная сила судебного решения 3
2. Предмет судебного доказывания 11
3. Задача 13
Пригожина, 16 лет, предъявила к Потапову 18 лет, иск об установлении отцовства и взыскании алиментов на содержание ребенка. В деле принял участие прокурор, а также мать Пригожиной и две ее подруги. Судья принял исковое заявление и по ходатайству ответчика назначил генную экспертизу по поводу отцовства последнего. Определите участников процесса по данному делу и их юридический интерес в деле? Какие доказательств
50 руб.
Физика. Контрольная работа (2 сем) Вариант 7
amfitech
: 3 апреля 2013
Физика. Контрольная работа (2 сем)
Вариант 7
507. При незатухающих гармонических колебаниях точки ее максимальная скорость равна 0,1 м/с, а максимальное ускорение равно 1 м/с.
517. Индуктивность колебательного контура равна 2 мГн. При какой емкости контур резонирует на длину волны 600 м? Как изменится длина волны, если индуктивность контура увеличить в два раза?
527. Написать уравнение, являющееся результатом сложения двух одинаково направленных, колебаний
537. Колебательный контур состоит из
100 руб.
Получение и свойства малахита
wizardikoff
: 27 февраля 2012
Глава 1. Литературный обзор
1.1 Общая характеристика меди
1.2 История открытия и применения малахита
1.3 Происхождение
1.4 Распространение
1.5 Форма нахождения в природе
1.6 Разновидности
1.7 Искусственные аналоги
1.8 Химический состав. Кристаллическая структура
1.9 Применение
Глава 2. Свойства материалов и методика эксперимента
2.1 Физические и химические свойства меди и её соединений
2.2 Основный карбонат меди и его физико-химические свойства
2.3 Синтез малахита
Глава 3. Результаты