1204

Изучение особенностей машинного программирования циклических алгоритмов с заданным числом повторений

Лабораторная работа

Информатика, кибернетика и программирование

Освоение особенностей организации внутрисегментных и межсегментных переходов, правил работы с сегментными регистрами. Изучение особенностей машинного программирования циклических алгоритмов с заданным числом повторений циклов. Анализ форматов и схем выполнения машинных команд ближнего и дальнего переходов программы.

Русский

2013-01-06

36.5 KB

2 чел.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Южно-Уральский государственный университет

 

Факультет прикладной математики и физики

Кафедра Прикладной математики

Отчет

По лабораторной работе № 2

Изучение особенностей машинного программирования циклических алгоритмов с заданным числом повторений (циклов)

Выполнили: студенты группы ПМФ-223

Скородумов С.

Панюкова Т.

Проверил: Никитин Г.А.

Оценка: ____________

Челябинск, 2000


1. Формулировка задачи

Изучение особенностей машинного программирования циклических алгоритмов с заданным числом повторений циклов.

Освоение особенностей организации внутрисегментных и межсегментных переходов, правил работы с сегментными регистрами.

Составить циклическую программу сложения двух многобайтных двоичных данных, расположенных в памяти, с размещением результата в памяти (Операнды должны быть сохранены).

Исходными данными являются многобайтные двоичные данные, получаемые путем кодирования фамилий членов бригады в коде ASCII. Данные хранятся с указателем длины или в виде строковых данных.

  1.  Исходные данные и их формат

Формат данных: в первый байт данного заносим его длину, а в последующих байтах идет непосредственно данное для обработки.

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

  1.  Распределение памяти

Код программы и данные располагаются в разных сегментах памяти.

Сегмент 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


 

А также другие работы, которые могут Вас заинтересовать

81467. Особенности обмена глюкозы в разных органах и клетках: эритроциты, мозг, мышцы, жировая ткань, печень 110.65 KB
  Метаболизм глюкозы в эритроцитах. В эритроцитах катаболизм глюкозы обеспечивает сохранение структуры и функции гемоглобина целостность мембран и образование энергии для работы ионных насосов. Около 90 поступающей глюкозы используется в анаэробном гликолизе а остальные 10 в пентозофосфатном пути.
81468. Представление о строении и функциях углеводной части гликолипидов и гликопротеинов. Сиаловые кислоты 110.57 KB
  Сиаловые кислоты Гликопротеины сложные белки содержащие помимо простого белка или пептида группу гетероолигосахаридов. К полипептидуприсоединяются гетероолигосахаридные цепи содержащие от 2 до 10 реже 15 мономерных остатков гексоз галактоза и манноза режеглюкоза пентоз ксилоза арабиноза и конечный углевод чаще всего представленный Nацетилгалактозамином Lфукозой или сиаловой кислотой; в отличие от протеогликанов гликопротеины не содержат уроновых кислот и серной кислоты. Сиа́ловые кисло́ты ациальные производные...
81469. Наследственные нарушения обмена моносахаридов и дисахаридов: галактоземия, непереносимость фруктозы и дисахаридов. Гликогенозы и агликогенозы 139.56 KB
  Гликогенозы и агликогенозы Нарушения метаболизма фруктозы Неактивный фермент Блокируемая реакция Локализация фермента Клинические проявления и лабораторные данные Фруктокиназа Фруктоза АТФ → Фруктозе1фосфат АДФ Печень Почки Энтероциты Фруктоземия фруктозурия Фруктозе1фосфатальдолаза Фруктозе1фосфат → Дигидроксиацетон3 фосфат Глицеральдегид Печень Рвота боли в животе диарея гипогликемия Гипофосфатемия фруктоземия гиперурикемия хроническая недостаточность функций печени почек. Наследственная непереносимость...
81470. Важнейшие липиды тканей человека. Резервные липиды (жиры) и липиды мембран (сложные липиды). Жирные кислоты липидов тканей человека 113.78 KB
  Жирные кислоты липидов тканей человека. Жирные кислоты структурные компоненты различных липидов. В составе триацилглицеролов жирные кислоты выполняют функцию депонирования энергии так как их радикалы содержат богатые энергией СН2группы. В составе фосфолипидов и сфинголипидов жирные кислоты образуют внутренний гидрофобный слой мембран определяя его свойства.
81471. Незаменимые факторы питания липидной природы. Эссенциальные жирные кислоты: ω-3- и ω-6-кислоты как предшественники синтеза эйкозаноидов 125.89 KB
  Эссенциальные жирные кислоты: ω3 и ω6кислоты как предшественники синтеза эйкозаноидов. В эту группу входит комплекс полиненасыщенных жирных кислот которые принимают значительное участие в биологических процессах: линолевая кислота омега6 линоленовая кислота омега3 арахидоновая кислота омега6 эйкозапентаеновая кислота омега3 докозагексаеновая кислота омега3 Полиненасыщенные жирные кислоты препятствуют развитию атеросклероза и снижают уровень триглицеридов липопротеидов низкой плотности в крови холестерина и его...
81472. Биосинтез жирных кислот, регуляция метаболизма жирных кислот 192.83 KB
  Источником углерода для синтеза жирных кислот служит ацетилКоА образующийся при распаде глюкозы в абсорбтивном периоде. Образование ацетилКоА и его транспорт в цитозоль. Активный гликолиз и последующее окислительное декарбоксилирование пирувата способствуют увеличению концентрации ацетилКоА в матриксе митохондрий. Так как синтез жирных кислот происходит в цитозоле клеток то ацетилКоА должен быть транспортирован через внутреннюю мембрану митохондрий в цитозоль.
81473. Химизм реакций β-окисления жирных кислот, энергетический итог 170.76 KB
  βОкисление специфический путь катаболизма жирных кислот при котором от карбоксильного конца жирной кислоты последовательно отделяется по 2 атома углерода в виде ацетилКоА. Реакции βокисления и последующего окисления ацетилКоА в ЦТК служат одним из основных источников энергии для синтеза АТФ по механизму окислительного фосфорилирования. связаны макроэргической связью с коферментом А: RCOOH HSKo АТФ → RCO КоА АМФ PPi. Реакцию катализирует фермент ацилКоА синтетаза.
81474. Биосинтез и использование кетоновых тел в качестве источников энергии 127.33 KB
  В результате скорость образования ацетилКоА превышает способность ЦТК окислять его. АцетилКоА накапливается в митохондриях печени и используется для синтеза кетоновых тел. Синтез кетоновых тел начинается с взаимодействия двух молекул ацетилКоА которые под действием фермента тиолазы образуют ацетоацетилКоА. С ацетоацетилКоА взаимодействует третья молекула ацетилКоА образуя 3гидрокси3метилглутарилКоА ГМГКоА.
81475. Пищевые жиры и их переваривание. Всасывание продуктов переваривания. Нарушение переваривания и всасывания. Ресинтез триацилглицеринов в стенке кишечника 106.8 KB
  Переваривание жиров происходит в тонком кишечнике однако уже в желудке небольшая часть жиров гидролизуется под действием липазы языка . Однако вклад этой липазы в переваривание жиров у взрослых людей незначителен. Поэтому действию панкреатической липазы гидролизующей жиры предшествует эмульгирование жиров. Переваривание жиров гидролиз жиров панкреатической липазой.