Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Распределение памяти. ?дрес Команда Действие Замечания 0034 ' 0301 ' = ВЛ - 2 ' Адрес 1





КО К1 К2 КЗ
Адрес т, Зит, п Адрес /, Д в п/п В п/п В п/п

 

 

Адрес           005А 005С 005Е  
Переменная т Зит N / Я, 5 к а, т г Ь

 

Тесты:

\.т = 400О0)= 190об), п = 420О0) = 1А4(16); 8ит = 2440(Ш) = 988(|б). 2. т = ЮОО(10) = ЗЕ8(]6), п = ЮЗО(10) = 406(16); 8иш = Ю140(10)= 279С, Программа

Адрес Команда Действие Замечания
    (К0)-> (К1) /: = т
  02Б0 КО: = КО + 2 Адрес Зит
       
  0Ш4 0 -> (КО) Зит: = 0
       
000А 02 Б0 КО: = КО + 2 Адрес п
ооос      
000Е   Сравнить (К1) с (КО) (/ с п) (КО) - (К1)
  ЗБ38 Если > 0, переход на 38 байт На стоп
    (К1) —> (К2) а: = /
  9С0Б Переход на п/п  
    Определения четности  
  04Б6 Сравнить (К2) с 0 Сравнить а с 0
001А 4Б28 Если < > 0, переход На изменение /
001С 02БЗ КЗ: = КЗ + 2 Адрес г
001Е      
    (К1) —> (КЗ) г: = /
  02Б1 К1: = К1 + 2 Адрес Я
       
  9С0Б Переход на п/п Сколько четных цифр в числе
       
002А 04Б5 Сравнить (К1) с 3 (ДсЗ) (К1) — 3
002С      
002Е 4Б10 Если < > 0, переход на 10 байт На увеличение /
  03Б0 КО: = КО - 2 Адрес Зит
       

 

Адрес Команда Действие Замечания
0034 ' 0301 ' = ВЛ - 2 ' Адрес 1
       
    (Я0): =(Я0) + (Я1) 811М: = шм + /
ООЗА   Я0: = Я0 + 2 Адрес п
ООЗС      
ООЗЕ Ш04 Переход на 4 байта Адрес / уже вычислен
    Я1: = Я1 — 2 Адрес /
       
  02Б5 (Я1): = (Я1) + 1 /: = / + 1
       
  ШС4 Переход к сравнению / с п  
004А 0Р00 Стоп  

 

Примечание. Расчет переходов предлагаем читателю проделать самостоятельно. На примере данной задачи рассмотрим более подробно механизм обращения к подпрограмме. По схеме можно проследить, как осуществляются переход к вспо­могательному алгоритму и возврат в вызывающую программную единицу. Программа


 

 


Программа 0000...

0026 Вызов п/п 0028 0080 -— 002А...

Подпрограмма 0080...

00А0 Вызов п/п

00А2 0070 -------

00А4... «—

Подпрограмма

—► 0070...

^— 007С Возврат из п/п


 

 


" 00С8 Возврат из п/п

Рассмотрим, как изменяется содержание регистра — указателя стека 8Р и па­мяти по тем адресам, на которые указывает 8Р, во время исполнения программы. Начальный адрес в 8Р — 00РЕ(, 6).


 

 


До вызова первой п/п

8Р: 00РЕ

После вызова первой п/п

8Р: 00РС 00РС: 002А

После вызова второй п/п

5Р: 00РА 00РА: 00А4 00РС: 002А

После возврата из второй п/п

8Р: 00РС 00РС: 002А

После возврата из первой п/п

8Р: (ЮРЕ


 

 


Следует заметить, что регистр 8Р может быть использован не только при рабо­те с подпрограммами, но -и для промежуточного хранения величин.

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

Пример 10. Продемонстрируем это на классическом примере рекурсивного алго­ритма — вычислении факториала натурального числа. С одной стороны, п\ определя­ется как произведение последовательных натуральных чисел от 1 до п включительно.

^ и Г1, если п = 0,

С другой стороны, п! = \

\ п • (п - 1)!, если п > 0.

Это и есть рекурсивное определение факториала, которым мы воспользуемся. План решения:


1. Сравнить п с 0. 3. Запомнить п в стеке; п\~ п~ 1. 5. Р: = Р* п. 7. Р: = 1.

Распределение памяти 2. Если /2=0, переход к п. 7. 4. Вызов п/п вычисления факториала. 6. Переход к п. 1. 8. Возврат из п/п.


 

 


КО К1 К2 КЗ
п Г - -

 

 






Дата добавления: 2014-11-10; просмотров: 745. Нарушение авторских прав; Мы поможем в написании вашей работы!




Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Трамадол (Маброн, Плазадол, Трамал, Трамалин) Групповая принадлежность · Наркотический анальгетик со смешанным механизмом действия, агонист опиоидных рецепторов...

Мелоксикам (Мовалис) Групповая принадлежность · Нестероидное противовоспалительное средство, преимущественно селективный обратимый ингибитор циклооксигеназы (ЦОГ-2)...

Менадиона натрия бисульфит (Викасол) Групповая принадлежность •Синтетический аналог витамина K, жирорастворимый, коагулянт...

Тема: Кинематика поступательного и вращательного движения. 1. Твердое тело начинает вращаться вокруг оси Z с угловой скоростью, проекция которой изменяется со временем 1. Твердое тело начинает вращаться вокруг оси Z с угловой скоростью...

Условия приобретения статуса индивидуального предпринимателя. В соответствии с п. 1 ст. 23 ГК РФ гражданин вправе заниматься предпринимательской деятельностью без образования юридического лица с момента государственной регистрации в качестве индивидуального предпринимателя. Каковы же условия такой регистрации и...

Седалищно-прямокишечная ямка Седалищно-прямокишечная (анальная) ямка, fossa ischiorectalis (ischioanalis) – это парное углубление в области промежности, находящееся по бокам от конечного отдела прямой кишки и седалищных бугров, заполненное жировой клетчаткой, сосудами, нервами и...

Studopedia.info - Студопедия - 2014-2025 год . (0.012 сек.) русская версия | украинская версия