1204
Изучение особенностей машинного программирования циклических алгоритмов с заданным числом повторений
Лабораторная работа
Информатика, кибернетика и программирование
Освоение особенностей организации внутрисегментных и межсегментных переходов, правил работы с сегментными регистрами. Изучение особенностей машинного программирования циклических алгоритмов с заданным числом повторений циклов. Анализ форматов и схем выполнения машинных команд ближнего и дальнего переходов программы.
Русский
2013-01-06
36.5 KB
2 чел.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Южно-Уральский государственный университет
Факультет прикладной математики и физики
По лабораторной работе № 2
Изучение особенностей машинного программирования циклических алгоритмов с заданным числом повторений (циклов)
Выполнили: студенты группы ПМФ-223
Скородумов С.
Панюкова Т.
Проверил: Никитин Г.А.
1. Формулировка задачи
Изучение особенностей машинного программирования циклических алгоритмов с заданным числом повторений циклов.
Освоение особенностей организации внутрисегментных и межсегментных переходов, правил работы с сегментными регистрами.
Составить циклическую программу сложения двух многобайтных двоичных данных, расположенных в памяти, с размещением результата в памяти (Операнды должны быть сохранены).
Исходными данными являются многобайтные двоичные данные, получаемые путем кодирования фамилий членов бригады в коде ASCII. Данные хранятся с указателем длины или в виде строковых данных.
Формат данных: в первый байт данного заносим его длину, а в последующих байтах идет непосредственно данное для обработки.
0A 61 76 6F 6B 75 6F 69 6E 61 50 avokuoinaP
0A 76 6F 6D 75 64 6F 72 6F 6B 53 vomudorokS
_______________________________
0A D7 E5 DC E0 D9 DE DB DD CC A3
Код программы и данные располагаются в разных сегментах памяти.
Сегмент CS: 100-26A: код программы
Сегмент DS: 200-20B: первое слагаемое
300-30В: второе слагаемое
400-40С: результат
4FC-519: завершение программы
600: адрес перехода в соседний сегмент
602: адрес соседнего сегмента
604: адрес возврата из соседнего сегмента
606: адрес начального сегмента
Регистры: SI в данный регистр помещаем сначала длину короткого слагаемого, а затем (в цикле распространения переноса) увеличиваем его значение на 1 при каждом последующем сложении с нулем.
DI используется для хранения начального адреса длинного слагаемого.
DX используется для хранения значений длины одного из слагаемых , при нахождении наименьшего значения этого параметра.
BX используется при сложении данных и распространении переноса
Рассчитанные до выполнения программы контрольные значения и результат трассирования введенной в ЭВМ программы совпали. Ошибок обнаружено не было. Для наглядности приведем также примеры с данными, имеющими различную длину:
А. Первое слагаемое короче второго:
05 61 76 6F 6B 75 avoku
0A 76 6F 6D 75 64 6F 72 6F 6B 53 vomudorokS
_______________________________
0A D7 E5 DC E0 D9 6F 72 6F 6B 53
Б. Второе слагаемое короче первого:
0A 61 76 6F 6B 75 6F 69 6E 61 50 avokuoinaP
07 76 6F 6D 75 64 6F 72 vomudor
_______________________________
0A D7 E5 DC E0 D9 DE DB 6E 61 50
3Анализ форматов и схем выполнения машинных команд ближнего и дальнего переходов программы.
Внутрисегментный переход:
014С E9ED00 JMP 023C
11101001 11101101 00000000
адр. ком. disp L disp H
Предпоследний бит первого байта команды указывает на то, что переход задан в виде абсолютного адреса в текущем сегменте (имеем переход типа near).
Схема выполнения данной команды: IP:=(IP)+dispHL смещаемся по абсолютному адресу в текущем сегменте
После выполнения этой команды IP:=(смещение)+(длина команды)+dispHL, т.е.
IP:=014h+03h+00EDh=023Ch
Межсегментный переход:
0261 FF 2E 00 06 JMP Far [600]
11111111 00101110 00000000 00000110
адр. Ком. md r/m disp
где, адрес команды указывает на то, что модифицируется весь указатель адреса CS:IP, md и последние 3 бита (r/m) определяют тип адресации (в данном случае адресация прямая md=00, r/m=110), следовательно адрес перехода берется из послених двух байт команды: IP:=(0600h) CS:=(0602h)
Схема выполнения команды: CS:IP:=(r/m)
4Анализ форматов и схем выполнения машинных команд замыкания цикла внутрисегментным и межсегментным переходами
Так как команды условного перехода имеют короткий формат и обеспечивают только переходы типа short по относительному адресу, поэтому как и при внутрисегментном переходе, так и при межсегментном команда LOOP ссылается на команды JMP, которая и выполняет необходимый переход.
Команда LOOP имеет следующий формат:
0241 E2F6 LOOP 0239,
что в двоичной форме записывается следующим образом:
11100010 11110110
адр. Ком. dispL
Смещение адреса перехода задается относительно адреса команды передачи управления, как и в любой другой команде передачи управления типа short в дополнительном коде. Т.е. смещение в данном случае будет равно: -08
Схема выполнения команды следующая:
CX:=CX-1, если CX=0 выходим из цикла, в противном случае IP:=(IP)+dispL уменьшаем значение счетчика.
После выполнения команды получим: IP:=0241h-08h=0239h
А также другие работы, которые могут Вас заинтересовать | |||
3320. | Техника и технология транспорта в туризме | 163 KB | |
Введение Учебная дисциплина рассматривает вопросы, связанные с техникой и технологией использования различных видов транспорта в туризме, технико-экономические и технико-эксплуатационные показатели различных видов туристского транспорта и порядок их... | |||
3321. | Военно-промышленный комплекс СССР в 1920–1950-е годы: темпы экономического роста, структура, организация производства и управление | 2.25 MB | |
Предлагаемая читателю книга – первая в отечественной литературе научная монография, посвященная истории формирования советского военно-промышленного комплекса – наиболее динамично развивавшейся совокупности видов промышленного производства... | |||
3322. | Программное обеспечение автоматизированных систем. Разработка приложений баз данных | 628 KB | |
В пособии изложены общие сведения о реляционных СУБД и их практическом применении на примере СУБД Oracle 8 с описанием элементов программирования в её среде. Приведены задания для выполнения лабораторных работ по дисциплине «Организация баз данных».... | |||
3323. | Бухгалтерские информационные системы | 231 KB | |
Причины и тенденции автоматизации учета на предприятии Причины Бухгалтерский учет является самым сложным и трудоемким процессом учета, поэтому использование компьютерных технологий при обработке информации просто необходимо. Современные информаци... | |||
3324. | Авиационные радиопеленгаторы | 10.45 MB | |
В данном пособии рассмотрено назначение, принцип работы и основные технические данные приводных радиостанций, современных бортовых радиокомпасов АРК-15М, АРК-22, АРК-25, АРК-УД и наземных радиопеленгаторов. В пособии даны сведения по факторам, влияю... | |||
3325. | Разработка бизнес-плана для предприятий автосервиса | 534.5 KB | |
Методическое пособие рекомендуется для выполнения курсовой работы по дисциплине «Экономика отрасли» и самостоятельного изучения студентов среднего профессионального образования по специальности 1705 «Техническое обслуживание и ремонт автомобильного... | |||
3326. | Применение приспособлений и их проектирование в машиностроительном производстве | 584.5 KB | |
Введение При подготовке производства к выпуску новых типов машин ставятся требования максимального сокращения сроков и снижения стоимости подготовки производства. Новые станки по сравнению со старыми являются более сложными и точными по конструкции ... | |||
3327. | Все об INTERNET | 319.5 KB | |
Введение Internet - глобальная компьютерная сеть, охватывающая весь мир. Сегодня Internet имеет около 15 миллионов абонентов в более чем 150 странах мира. Ежемесячно размер сети увеличивается на 7-10%. Internet образует как бы ядро, обеспечивающее с... | |||
3328. | Предпринимательская деятельность юридических лиц | 107 KB | |
Введение Еще во второй половине 80-х годов в обиход среднестатистического человека вошло такое понятие как производственный кооператив. Немного позднее, уже в первой половине 90-х, лексикон обычного человека пополнился терминами «акционерное обществ... | |||