Лекция: Задание 2. Выполнение команды установить переход по знаку.
Рассмотрим фрагмент программы представленной на рис.3.
1. Занесем команды программы в ячейки ОПсогласно заданию (см. ЛР№2). 2. Введем в соответствующие ячейки операнды:
· Операнд 1 — «10» по адресу «60»;
· Операнд 2 — «11» по адресу «61».
3. Занесем в СЧАКадрес первой команды программы – «32».
4. Переведем режим работы в Цикл(при однократном нажатии кнопки Стартвыполняетсяодна команда)и выполним первые две команды программы.
Примечание.Операнды, имеющие отрицательное значение хранятся в ячейках ОП в специальном коде (только для данной модели), где старший десятичный разряд принимает значение равное единицы. Например, операнд = «-00004» будет закодирован как «10004».
| Адрес Команды | Команда | Пояснения | ||||
| Поля команды | ||||||
| КОП | ТА | А | ||||
| Загрузка первого операнда из ячейки ОП с адресом 60 в АК | ||||||
| Выполнение команды вычитание (из первого операнда вычитается второй) | ||||||
| Переход по знаку. Анализируется результат последней выполненной команды (04 0 61). Если результат меньше нуля, то следующей будет выполняться команда, адрес которой указан в поле А команды перехода (43). Если результат отличный от отрицательного то будет выполняться следующая команда программы ( по адресу 32) | ||||||
| Вывод на РВЫВ результата выполнение команды вычитание (он должен быть не отрицательным) | ||||||
| Останов | ||||||
| … | … | … | … | … | ||
| Вывод на РВЫВ результата выполнение команды вычитание (он должен быть меньше нуля) | ||||||
| Останов | ||||||
Рис. 3. Программа выполнения команды переход если ноль
5. ВыберемвБлоке управляющих сигналоврежим работыТактинажмем кнопку Старт. Начнет выполняться микропрограмма команды Переход если ноль.
6.Последовательно нажимая кнопку Старт, проследим все этапы её выполнения (рис.4).
| № такта | Микрокоманда | Результат выполнения МК |
| 1- 5 | — | Выполнение команды «Загрузка» в АК первого операнда |
| 6 — 14 | — | Выполнение команды вычитание |
| СЧАК:=СЧАК+1 | Формирование адреса следующей команды. В окне «флаги»в поле «нуль», появилась единица – признак, что результат выполнения команды вычитание меньше нуля | |
| РА:=СЧАК | На РА появится адрес команды из СЧАК | |
| Чтение (РС:=ОП(РА)) | В РС заносится содержимое РА, т.е. команда 10 0 43 | |
| РК:=РС | В РК считывается команда — переход по знаку из РС ОП | |
| СЧАК:=А | На РСАК заносится адрес команды из поля А команды, находящейся на РК (следующей будет выполняться команда записанная по адресу 43) | |
| ОСТАНОВ | Приостанавливается работа компьютера. При следующем нажатии кнопки старт начнет считываться команда, записанная по адресу 43. |
Рис. 4. Выполнение микропрограммы «Переход по знаку»
7. Переведем режим работы модели компьютера в Автомати выполним остальные команды программы.
8.В РВЫВбудет записан результат «10001», т.е. «-1».
Задание для самостоятельной работы.Измените, значение второго операнда так, чтобы результат выполнения команды Вычитаниебыл больше нуля. Выполните всю программу (рис.3) в режиме Цикл, посмотрите, как изменится алгоритм. Значение РВЫВдолжно получиться положительным.
Тема: Программное обеспечение компьютера