Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ПособиеМПЭВС_ч2

.pdf
Скачиваний:
26
Добавлен:
11.05.2015
Размер:
2.62 Mб
Скачать

3.3 Форматы и система команд МП и МПУ

71

(неявная адресация) в операциях преобразования, приёма/выдачи данных к области портов. Аппаратно поддержано объединение регистров A, B, C, D, E, F H, L в парных сочетаниях AF (регистр PSW), BC (пара B), DE (пара D), HL (пара H). Регистры в парах кодируются изменённым именем (пара A и F представляется PSW, для пар BC (пара B), DE (пара D), HL (пара H) применяются разными формами префиксной идентификации). В качестве примера можно привести следующие три формы символьного обозначения команд:

mov B, A; push B; lxi B, 1000h.

В первой команде (mov B, A), операции mov соответствует определение регистров РОН A и РОН B с разрядностью один байт. Операция push (иная символьная форма записи) является префиксным идентификатором обозначения B как регистровой пары BC. В третьей команде (lxi B, 1000h) символ X является префиксным идентификатором обозначения B как регистровой пары.

Регистры SP (stack pointer — указатель адреса вершины стека) и PC (program counter — программный счётчик, указатель команд) доступны программам пользователя только как шестнадцатиразрядные.

За регистром F закреплена функция хранения бинарных признаков результата операций АЛУ. Это специализированный регистр. Побитное определение регистра F приведено в таблице 3.3.

Таблица 3.3 – Бинарный формат регистра F

D7

D6

D5

D4

D3

D2

D1

D0

S

Z

As

Ac

0

P

V

Cr

 

 

 

 

 

 

 

 

Триггеры состояния масок запросов, триггеры разрешения установки масок и разрешения последовательной передачи на модели МП не показаны, а отнесены в состав буферных формирователей чтения масок прерывания (FMR) и установки масок для управления прерываниями (FMS). Через формирователи FMR, FMS МП осуществляет и последовательный побитовый приём данных (вход SID Serial Input Date МП) и последовательную выдачу данных (выход SOD Serial Output Date МП). Загрузка формирователя FMS и связанных с ним служебных регистров масок прерывания, разрешения последовательной передачи и состояния с регистра прерываний RGI (Register Interrupt) выполняется командой SIM (Set Interrupt Mask) МП. Регистр RGI управляется командами EI (Enable Interrupt) и DI (Disenable Interrupt) программно и сбрасывается аппаратно при сбросе МП и подтверждении прерывания. Приём состояния выходов формирователя FMR, включая вход SID МП, выполняется по команде RIM (Read Interrupt Mask). Сведения о формате слова загрузки (установки) FMS из РОН A и слова копируемого (считываемого) в РОН A из FMR приведены в комментарии к таблицам Д1, Д2 команд приложения Д папки электронных материалов к пособию.

3.3.2 Операции. Операнды. Адресация

Команды в таблицах приложений Д1, Д2 представлены в форме символьных записей, образованных из набора ключевых слов, определяющих операцию команды,

72

Глава 3. Микропроцессоры

и символов, обозначающих объекты команды, над которыми выполняется операция (операнды). Соответствие символьных записей команд шестнадцатеричному или двоичному коду определяется по таблице кодов Д2 команд МП 1821ВМ85А Приложения Д. Информация об объектах, над которыми выполняется операция, в зависимости от способа адресации размещается в первом, первом и втором, первом, втором и третьем словах команды рассматриваемого МП. Если объект действия команды однозначно представлен на аппаратном уровне в процессоре, то доступ к нему выполняется по коду выполняемой процессором операции (указание объекта неявное). В таблицах команд Приложения Д электронных материалов пособия приведены обозначения, состав машинных слов, состав и число машинных циклов и тактов частоты fCLK , код команд и связанные с операцией состояния бинарных признаков.

3.3.3 Состав операций системы команд

Состав операций определяется на основе функционального критерия классификации команд. По функциональному критерию система команд рассматриваемого МП представлена четырьмя типовыми классами: пересылки данных, преобразования и обработки, управления программой, управления МП.

В командах класса пересылки задействовано два объекта: источник (с адресом Ап) и приемник (с адресом Аи). Символьные записи КОП команд пересылки данных используют ключевые слова move (передвинуть), load (загрузить), store (запомнить), push (втолкнуть), pop (вытолкнуть), input (ввести), output (вывести), change (обменять), immediate (непосредственный). Идентификация приёмника и источника в операции move определяется расположением операндов (слева после ключевого слова операции расположен приёмник, а далее — источник пересылаемых данных). В ключевых словах load, pop, input определено направление передачи от окружения в МП, а ключевые слова store, push, output идентифицируют направление передачи из процессора. Ключевые слова push, pop применены для команд перемещения данных между регистровыми парами МП и областью стека в памяти данных. Ключевые слова input, output применены для команд перемещения данных между аккумулятором МП и портами окружения. Ключевое слово move в системе команд использовано для команд перемещения данных между регистрами МП, регистрами МП и ячейками памяти данных с косвенной адресацией через пару регистров HL. Префиксное применение в записи команды символа X указывает на двухбайтовый размер адресуемого объекта команды. Примерами являются команды lxi B, ldax B, stax B, xthl, xchg, lhld, shld и проч. (см. таблицы Приложения Д). Указатель immediate определяет число в команде, как операнд к выполнению операции загрузки или преобразования данных (примерами являются команды lxi B, 1000, mvi d, 23, adi 56, xri 45, ldhi 76, ldsi 67, aci 30, ani 20 и ряд им подобных в таблицах Приложения Д). Команды пересылки данных не изменяют состояния битов регистра F, если они не направлены на это назначением, как, например, команда POP PSW.

Состав команд преобразования и обработки МП 1821ВМ85А представлен командами двоичной арифметики, исключая умножение и деление, командами логического преобразования, командами накапливаю-щих и вычитающих счётчиков на РОНах и парах РОНов, командами левых и правых циклических и арифметических

3.3 Форматы и система команд МП и МПУ

73

сдвигов. Предусмотрена возможность преобразования формата из двоичной формы представления в двоично-десятичную форму после арифметического сложения.

Характерной чертой команд преобразования числовых данных является установка бинарных признаков результата в регистре F. В командах арифметики, логического преобразования и сдвига один, или единственный при сдвигах, операнд и результат преобразования размещается по умолчанию в аккумуляторе (РОН А). Формат регистра F представлен в таблице 3.3.

Условия формирования бинарных признаков следующие:

бит знака S (sign) численно равен значению старшего разряда результата (содержимого регистра A), при работе с числами в дополнительном коде свидетельствует о знаке результата, если не было переполнения, а при наличии переполнения истинный знак результата отражает бит As (в этом случае As = NotS);

бит нуля Z (zero) устанавливается, если после выполнения операции содержимое регистра A равно нулю, и сбрасывается в противном случае;

бит вспомогательного переноса As формируется по формуле: As = V D7 и свидетельствует об истинном значении знака результата при работе с числами в дополнительном коде при наличии переполнения, а при отсутствии переполнения As = S;

бит вспомогательного переноса Ac устанавливается, если после выполнения операции был перенос между разрядами D3 в D4 аккумулятора, и сбрасывается в противном случае;

бит четности P (parity) устанавливается, если после выполнения операции число единиц содержимого аккумулятора четно, и сбрасывается в противном случае (нулевой код считается чётным);

бит переполнения V формируется по следующей формуле:

V= (D7 Ð→ Cr) (D6 Ð→ D7),

т.е., когда есть перенос из разряда D7 аккумулятора в Cr, но нет переноса из D6 в D7 (или наоборот);

бит переноса Cr (carry) устанавливается, если из аккумулятора был перенос при сложении или заем при вычитании (сбрасывается в противном случае), и определяется состоянием выталкиваемого бита в операциях сдвига.

Для команд INX, DCX поведение флага As идентично поведению флага Cr, т. е. бит As устанавливается при наличии переноса или займа.

Перечень команд управления программой МП 1821ВМ85А содержит:

команды безусловных и условных переходов (ключевое слово для безусловных команд — jump, а для команд перехода по условию сочетанием двух слов — jump condition);

команды безусловных и условных вызовов (ключевое слово для безусловных команд — call, а для команд вызова с условием сочетание двух слов — call condition);

восемь команд рестарта (ключевое слово — restart);

74

Глава 3. Микропроцессоры

команды безусловного возврата (ключевое слово для безусловных команд — return);

командой условного рестарта по состоянию бита переполнения V.

Для команд переходов (jump condition) условиями являются состояния битов

S, Z, As, P, Cr. Для команд вызовов и возвратов (call condition, return condition) условиями являются состояния битов S, Z, P, Cr. Команда вызова обработчика по состоянию признака переполнения V в МП 1821ВМ85А представлена записью RST fV (с целью указания отличия от применённой в системе команд МП К580ВМ80А записи RST V команд векторных прерываний, где V есть номер вектора прерывания).

Характерной чертой этого класса команд является безусловная или условная загрузка указателя команд (PC) либо адресом ветвления, либо адресом возврата. При вызовах и возвратах используется стек оперативной памяти, в котором при вызовах и рестартах сохраняется адрес возврата перед обработкой и восстанавливается адрес продолжения программы после исполнения программы обработчика вызова (или рестарта).

Условные переходы, вызовы и возвраты базируются на изменении направления управления в зависимости от состояния бинарных признаков результата, от АЛУ ОУ. Для удобства построения алгоритмов и программ ветвлений аппаратной средой и системой команд МП предусмотрены варианты установки ожидаемых условий ветвления по состояниям проверяемого бита признака. На каждый проверяемый бит регистра F возможны по два условия ветвления и по два продолжения. Состав команд настройки процессора МП 1821ВМ85А:

команды изменения состояния бита Cr (STC, CMC — ключевые слова set carry и complain carry);

команда инкремента указателя команд (PC) без исполнения иных операций (nop — ключевые слова not operation);

две команды глобального разрешения EI (или запрета DI) маскируемых аппаратных прерываний (ключевые слова — enable interrupt, disenable interrupt);

команда установки многофункционального формирователя FMS П — модели МП (ключевые слова — set interrupt mask).

На состояние бинарных признаков регистра F оказывает влияние только первая из названых команд. Для исключения срыва возврата из ветвлений вызова и рестарта в цикле команды разрешения прерываний EI не проверяется состояние запросов аппаратных прерываний, как это принято для прочих команд.

3.3.4 Форматы команд. Операнды. Адресация операндов

По критерию организации формата система команд МП 1821ВМ85А характеризуется следующими отличительными чертами:

содержит команды размером от одного до трёх машинных слов;

в командах пересылки данных при прочтении слева направо выделяются поля КОП, операнда приёмника, операнда источника;

число явно присутствующих в команде операндов не превышает двух;

3.3 Форматы и система команд МП и МПУ

75

На аппаратном уровне поддержаны следующие способы задания операндов:

прямой регистровый, прямой абсолютный (длинный, короткий, векторный), непосредственный, косвенный регистровый, неявный способы задания операндов в командах (способы адресации).

Второй и третий способы адресации перечня являются явными. Первый и четвертый способы могут быть заявлены в командах неявно. В двоичной форме поле кода адреса одного объекта при прямой или косвенной регистровой адресации занимает от одного до трех двоичных разрядов. Один или оба адреса данных могут быть размещены в одном слове с кодом операции. Форматы команд МП представлены схемой, показанной на рисунке 3.6, где указан размер команды в байтах (машинное слово МП К1821ВМ85А).

На рисунке 3.6 приведены возможные формы (форматы) команд МП, где показаны возможные расположения полей в командах.

Рис. 3.6 – Форматы команд МП К1821ВМ85А

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

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

врегистрах A, B, C, D, E, H, L процессора или парах регистров (например, PSW, H, B, D, SP, PC) программной модели. Размер команд на рисунке 3.6 один байт.

Прямой абсолютной адресации соответствует указание операнда двумя байтами числового адреса (по размеру шины адреса МП) в команде для длинного адреса ячейки памяти (на рисунке 3.6 размер команды три байта) и для короткого адреса порта (по размеру половины шины адреса МП, на рисунке 3.6 два байта). Термин «векторный» адрес связан с адресацией совокупности ячеек (области). Примером векторного способа могут служить команды rst 0. . .rst 7, которые указывают начальный адрес векторной области размером восемь ячеек памяти. Термины «длинный», «короткий» способ связаны соответственно с использованием при адресации данных полной шиной адреса МП или её частью.

Непосредственной адресации соответствуют форматы команд, показанные на рисунках 3.6 размером два и три байта. Примерами таких команд можно считать команды mvi A, 46h, lxi H, 2345h.

Косвенная регистровая адресация в МП реализована через применение трёх регистровых пар HL, BC, DE и специализированного указателя SP для данных стековой области.

Неявная адресация обсуждалась как форма, при которой адрес в команде явно не представлен, но архитектурой МП определён как единственно возможный. В ро-

76

Глава 3. Микропроцессоры

ли такого единственного ресурса используется регистр F, в ряде команд регистр A, указатель SP, указатель команд PC, триггер прерываний, формирователи FMS, FMR.

3.3.5 Время выполнения команд

Время выполнения команд является отражением свойств архитектуры в части быстродействия элементной базы, насыщенности аппаратными средствами устройств управления и операционного устройства, обеспеченности параллельных потоков коммутации сообщений. В этом смысле система команд МП 1821ВМ85А характеризуется абсолютными и относительными единицами измерения времени исполнения. Абсолютное время измеряется в секундах и в первую очередь определяется временными параметрами элементной базы МП. Для относительных оценок используются временные интервалы, кратные периоду частоты тактового генератора процессора (такты, машинные циклы, состав машинных циклов). Длительность одного такта соответствует одному периоду TCLK частоты тактового генератора процессора FCLK .

Архитектурой микропроцессора 1821ВМ85А предусмотрен последовательный доступ к командам и данным. Временные циклы характеризуются следующими чертами:

извлечение команды осуществляется за один–три машинных цикла;

первый машинный цикл (цикл извлечения КОП) исполняется за четырешесть (преимущественно за четыре) тактов, а все последующие машинные циклы исполняются за три такта;

командный цикл микропроцессора реализуется за (1–5) машинных циклов извлечения и выполнения команды.

Длительность этапа извлечения команды из памяти, с учётом состава тактов в машинном цикле, определяется по числу машинных слов в записи команды. Длительность этапа выполнения команды определяется по числу функционально необходимых для выполнения команды машинных циклов (циклов, в которых активизируются внешние шины МП по коммутации адресов, управляющих сигналов и данных между процессором и окружением).

Для команд разных классов и разных форматов не представляет труда по форме записи команды характеризовать и назначение, и состав, и размер, и время выполнения команды (в редких случаях для уточнения значений может потребоваться обращение к фирменным спецификациям МП).

3.3.6 Формы представления команд

По уровню представления команд к подготовке программ управления различают микропрограммный (микромашинный), машинный, ассемблерный, метафизический (алгоритмический) языки. Каждому из названных уровней соответствует программа, именуемая исходным текстом.

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

3.4 Программирование МП

77

представлений сигналов в ЭВМ и МП, дополненная разделением потоков двоичных последовательностей на адресный, управляющий, командный, количественный (данные), не стала ограничением для информационного обмена. Объектный код команд в микропрограммном автомате устройства управления преобразуется в совокупность пространственно-временных двоичных последовательностей сигналов, управляющих изменением состояний функциональных узлов процессора и его окружения в транспорте и преобразовании информации. Микропрограммный и машинный языки представления исходных текстов программ отличаются высокой степенью детализации состояний функциональных узлов процессора. На уровне комплектного МПУ использование микропрограммного представления может быть оправдано при подготовке моделирующих программ, но не рабочих программ функционирования МПУ. Машинный язык в адаптированной восьмеричной или шестнадцатеричной системе кодирования до настоящего времени применяется при написании фрагментов программ отладки аппаратных структур и демонстрационных программ. Переход к символьным представлениям КОП и операндов команд при написании программ повышает наглядность текстов программ, повышает их мобильность, стимулирует адаптированный перенос программ на МПУ с совместимыми аппаратными ресурсами. Этот уровень представления команд получил наименование ассемблерного и стал основным в отображении, изучении и освоении архитектурных свойств микропроцессоров, средств их окружения, средств применения МП в контроллерах и микропроцессорных системах. Ассемблерному уровню соответствует язык символьных записей по принципу «одна машинная команда — одна символьная запись», что позволяет выполнять формальный (в современных условиях по программам, составленным на языках метафизического уровня) перевод символьного представления команды в двоичный машинный (объектный) код. При этом перевод из символьной формы в двоичный (объектный) код называется ассемблированием, а обратный перевод называется дизассемблированием. Машинные и ассемблерные языки явно связаны с составом и ресурсами аппаратных средств, являются машинно-зависимыми и в этом смысле характеризуются наименьшей мобильностью.

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

3.4 Программирование МП

3.4.1 Языки программирования МП

К настоящему времени предложено множество метафизических языков, а часть широко применяется для подготовки исходных текстов программ МП. У каждого из языков высокого уровня своя история появления, становления, развития, кульминации и снижения привлекательности. У каждого метафизического языка своя

78

Глава 3. Микропроцессоры

область применения, своя объектная направленность, свои пользователи. Одни метафизические языки становятся средством для подготовки языков более высокого метафизического уровня.

Характерным для языков высокого уровня является многоэтапный перевод (трансляция) программ с языка высокого уровня до уровня машинного. Это связано с реализацией грамматических конструкций языка высокого уровня совокупностями грамматических конструкций языка более низкого уровня. В конечном итоге последним этапом такой трансляции является ассемблирование программных модулей на машинный язык. Метафизические языки слабо связаны со структурой и аппаратными ресурсами процессоров, и потому программы, подготовленные на этих языках, переносимы на разные технические средства. Фактически это языки описания алгоритмов разного уровня абстрагирования. Повышение уровня абстрагирования в алгоритмизации задач продуктивной деятельности объективно сопровождается стремлением к повышению содержательности грамматических конструкций языковой среды для подготовки текстов программ реализации алгоритмов. Такая связь может рассматриваться, как закономерность развития алгоритмических языков, позволяя повышать продуктивность труда по подготовке исходных текстов, уменьшать объём программ, повышать мобильность, сокращать время их отладки.

Совершенствование языковых средств, сокращая затраты труда конечных пользователей языковой среды, повышает затраты времени, увеличивает объёмы и вариантность программ поддержки новых грамматических конструкций, повышает затраты времени на исполнение нарастающего количества машинных программ. В конечном итоге расплатой за это является наращивание аппаратного ресурса процессоров через создание новых и совершенствование существующих параллельных структур, повышение затрат на более низких уровнях программного сопровождения.

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

Для понимания и рационального использования проектного аппаратного и программного базиса для современного уровня развития процессоров уровень машин- но-зависимых языковых сред не утратил своего значения и в новых условиях. Благодаря высокой степени интеграции конструкций современных процессоров, реализация команд алгоритмических языков нижнего эшелона на аппаратном уровне стала реальностью.

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

Важнейшим этапом процесса проектирования микропроцессорных контроллеров является подготовка и отладка прикладных программ управления. На этом

3.4 Программирование МП

79

этапе составляются алгоритмы программ управления, подготавливаются исходные тексты программ, выполняется их трансляция в объектный код и последующая загрузка в инструментальный или целевой комплекс для проверки правильности функционирования программы. Форма и модульный состав алгоритмов для уровня машинных и ассемблерных программ, являющихся машиннозависимыми, зависит от архитектуры микропроцессоров.

3.4.2 Структурирование программ

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

Метафизические языковые среды своими структурными модулями имеют распространённые программные конструкции, реализованные, как типовые, на машиннозависимых формах представления. В одних исполнениях эти типовые конструкции из команд объектного кода называются «драйверами», в других — «макросами», в третьих — «процедурами», в четвёртых — «утилитами». Отличия в наименованиях модулей естественно связаны с определёнными различиями применения, назначения, передачи изменяемых параметров в модули, использования результатов, хранения, но существенной является модульность, функциональная обособленность. Модульность, функциональная и структурная обособленность программ являются радикальным направлением снижения вероятности совершения ошибок в подготовке программ и сокращения затрат времени на отладку программ.

3.4.3 Организация линейных и циклических программ

Подготовка программ управления МП включает формирование модели процесса управления, предварительный выбор ресурсов аппаратно-программной среды, принятие решений по составу и анализ соответствия алгоритма, выбор и анализ программных моделей управляемого устройства, написание текстов программ с последующей их постановкой на целевых средствах микропроцессорного управления. На всех этапах этого процесса важнейшей задачей представляется разделение всего процесса на логически завершённые составные части, которые должны быть предельно компактными, функционально обособленными, автономно контролируемыми и автономно тестируемыми. Путь к этому результату представляется иерархическим. На верхних уровнях находятся крупные автономные программные модули. На нижних уровнях находятся такие же автономные, но допустимо мелкие модули (много мелкого при этом нехорошо, но запутанность большого ещё хуже). Успех проделанной работы проявится в алгоритмах и программах функционирования иерархических модулей. Подготовка программ, независимо от языка подготовки исходного текста, должна удовлетворять:

требованию функциональной завершённости модуля;

удобству доставки и ввода теста проверки модуля;

однозначности контроля тестируемой функции или параметра.

80

Глава 3. Микропроцессоры

Таким модулям из набора средств организации программ соответствуют три организационные структуры:

линейная программа с одним или несколькими не пересекающимися и не выходящими за пределы модуля циклами;

структурные единицы в виде макросов;

структурные единицы в виде процедур (подпрограмм).

Линейность внутренней организации макросов и процедур является условием успешности автономной отладки, контроля, диагностики.

На следующих уровнях построения программных структур локальными объектами программ являются структуры, образованные на нижнем уровне. Простейшим примером может служить пример фрагмента элементарной паузы, приведенный ниже. Удлиняя его линейную часть, обрамляя фрагмент командами сохранения, восстановления состояний и возврата для процедуры, или вводя псевдокоманды макроопределения для макроса, этот фрагмент можно использовать как элементарную задержку при написании программ. Снижению числа ошибок в подготовке и отладке программ управления микроконтроллеров в значительной мере способствует и форма документирования программ реализации алгоритмов. Для подготовки текстов машиннозависимых программ, которые являются «капиллярами», «корешками» дерева сложных программ, практикой программирования выработаны формы документального представления программ, названные листингами. Пример фрагмента документа программы на языке ассемблера:

Рис. 3.7 – Фрагмент листинга программы

Столбцы 3, 4, 5 на рисунке 3.7 соответствуют записям исходного текста программы. В столбце 1 помещены коды адресов размещения команд программы в памяти команд, и в столбце 2 помещены машинные коды команд в h-формате (h-формат применён для компактности записи). В приведенном примере программы в поле меток (столбец 3) после символов М0 поставлен символьный знак «:», являющийся разделителем текстовой записи имени метки М0 и символьной (ассемблерной) записи обозначения команды, находящейся в той же строке. Аналогичное назначение имеет знак «;» в поле столбца 5, являясь формальным разделителем между символьной записью команды в столбце 4 и текстом комментария в столбце 5.

Фрагменту программы соответствует реализация некоторого алгоритмического блока, содержанием которого является исполнение цикла (длительностью 0,1145 сек). В течение цикла не предусмотрены операции процессора с объектами окружения,