AOP_Tom1 (1021736), страница 38
Текст из файла (страница 38)
Перфолентпа. М должно быть равно нулю. Команда "10С 0(20)" перематывает лентг в начало. ° 3880 ()шпр геаАу — переход при готовности). С = 38; Г = номер устройства. Переход происходит в случае, если заданное устройство готово, т. е. завершена предыдущая операция, инициированная командой 1И, ООТ или 10С. ° 1ВУЯ (1шпр Ьиву — переход при занятости). С = 34; Г = номер устройства. Антипод команды 1НЙ): переход происходит, если заданное устройство ие готово. Пример. Команда "1ВОЯ 1000(16)" из ячейки 1000 будет повторно выполняться до тех пор, пока устройство 16 не будет готово. Перечисленные выше простые команды исчерпывают набор команд ввода-вывода компьютера М1Х.
В этом компьютере нет индикаторов контроля ленты и т, д., служащих для предотвращения аварийных ситуаций на периферийных устройствах. Любая подобная ситуация (бумага застревает, устройство отключается, лента отсутствует и т. д.) приводит к тому, что устройство остается занятым, звенит звонок и опытный оператор устраняет проблемы вручную, выполняя обычные процедуры обслуживания. О более сложных периферийных устройствах, которые являются более дорогими и более типичными представителями современного оборудования по сравнению с описанными здесь лентами, барабанами и дисками с фиксированным размером блоков, пойдет речь в разделах 5.4.6 и 5,4.9.
Команды преобразования ° НОМ (сопгегг го пишегк — преобразовать в число). С = 5; Г = О. Эта команда используется для преобразования символьного кода в число. М игнорируется. Предполагается, что регистры А и Х содержат 10-байтовое число в символьном коде и команда НОМ заносит в гА полученное числовое значение (которое рассматривается как десятичное число), Содержимое гХ и знак гА не меняются. Байты 00, 10, 20, 30, 40, ...
преобразуются в нулевые; в байты 01, 11, 21, ... заносится цифра 1 и т. д. Если происходит переполнение (что вполне возможно), сохраняется остаток по модулю Ь"', где Ь вЂ” размер байта. ° СНАМ (сопчегг го сйагасгегз — преобразовать в символы). С = 5; Г = 1.
Эта операция используется для преобразования машинного кода в символьный код, который воспринимается устройством вывода на перфокарты, ленту или на принтер. Значение из гА преобразуется в 10-байтовое десятичное число, которое заносится в регистры А и Х в символьном коде. Знаки гА и гХ не меняются. М игнорируется. Примеры Регистр А Регистр Х Первоначальное содержимое НОМ О 1НСА 1 СНАЯ О Время выполнения. Чтобы определить количественные характеристики эффективности программ для М1Х, для каждой его команды задано время выполнения, которое типично для компьютеров "урожая 1970 года". АОО. ЯОВ, все команды ЖОАО, все команды ЯТОНЕ (включая ЯТХ), все команды сдвига и все команды сравнения выполняются в течение двух тактов.
Для выполнения команды МОУЕ требуется один такт плюс еще два на каждое перемещаемое слово. Для каждой команды МО1., НОМ, СНАМ требуется 10 тактов, а для 01Ч вЂ” 12. Время выполнения операций с плавающей точкой определяется в разделе 4.2.1. Для всех остальных операций необходим один такт плюс время, в течение которого компьютер может ожидать завершения выполнения команд 1И., СОТ, 10С и НЬТ. Таблица 1 оо оз оз оз оа оз ов ог оз ов зо ы щ гз за ы ы и зз ы зо ы зз зз зв и А В С 0 Е Г С Е 1 А Л К 1 И Н О Р Ц Е Е П Я Т О 03 10 00 01 2 02 3 Нет операции НОР(0) гАХ в- ГА х Ч ИОЬ (О: 6) ГЖЕ. (6) гА е- гА+ Ч АРО(0:5) ГАРО(б) гА з- гА — Ч ЯОВ(0:5) ГЯОВ(6) 06 Е 11 8 00 Е 10 8 гА в- Ч ЕОА(0:6) г13 в- Ч 1.03 (О: 6) г11 в Ч 1.01(0:6) г12 с в Ч 102(0:6) 16 гЦ з- -Ч 1Ю1Н(0зб) НЗ+- -Ч ЕОЗН(0:6) г[2 — -Ч 102Н(озб) 25 Е М(Р) +- гА ЯТА(0:5) М(Р) +- г13 ЯТЗ(0:5) М(Р] +- г11 ЯТ1(0:6) М(Р) +- г12 ЯТ2(0:6) 35 1+Т Упр.
устр. Р 33 М(Р) +- О ЯТЕ(0:6) 10С(0) 40 1 41 42 1 гА: О, переход г13: О, переход г11: О, переход г12:О, переход ,)А [+) 33 [+) 11[+) 12 [+) 51 50 1 гА в- [гА]? А. М 1ИСА(0) ПЕСА(1) ЕНТА(2) ЕИНА(3) г11 +- [г11]? ~ М 1ИС1(0) ОЕС!(1) ЕНТ1(2) ЕИН1(З) г13 <- [г13]? ~ М 1НСЗ(0) ОЕСЗ(1) ЕНТЗ(2) ЕИНЗ(3) Н2 < [г[2]7 з М 1НС2(0) ОЕС2(1) ЕНТ2(2) ЕНН2(З) 56 3 С1 з- г13(Р) з Ч СНРЗ(0: 6) С1 < — гА(Р): Ч СИРА(0:5) ГСНР(6) С1+- г12(Р): Ч СНР2(0:6) С1+- г[ЦР): Ч СИР1(0:5) Общая форма записи; 16 3 гА+- -Ч БОЕН(0зб) 32 3 М(Р) в- гЛ ЯТ1(0з2) 34 1 Устр. Р занято? ТВОЯ(0) С вЂ” код операции, поле команды (6: 5] Р— уточн. кода опер., поле команды (4: 4) М вЂ” адрес команды после индексации Ч = М(Р] — содержимое поля Р ячейки М ОР†символическ код операции (Г) — стандартное зиачение Р З вЂ” время выполнения; Т вЂ” время блокировки ы ы зг зз зз зе зз зз зз ы зь зь зт зз зз «е го ьз ьз ы ьь 4« ьт ьз ьз ьа ы ьз ьз ьь ьь Ч И Х Т 2 0 1 2 3 4 б 6 7 8 9 ., ( ) + - « / = 3 с > 6 07 1+ ЗР 04 05 06 Переместить Р слов из М в гП НОЧЕ(1) 12 Я 15 Ю 13 14 гх Ф- Ч ЕОХ(0 б) 23 3 г16 е- Ч БОБ(0:5) гХ+- -Ч ХОХМ(0:Б) г14 «- -Ч 504М(0:Б) г!5 «- -Ч 505М(0:5) г16 «- -Ч ХОБИ(0:Б) 31 30 г М[Р) +-.Х ЗТХ(0:Б) М[Р) е- г16 ЗТб(0:Б) Усгр.
Р готово? 1ВЕИО) Ввод с устр. Р Вывод на устр. Р ООТ(0) Переходы 1МР(0) 181(1) 10Ч(2) 1ИОЧ(3) а также [«] ниже 18(0) 47 1 44 1 45 г14: О, переход гХ: О, переход г15: О, переход г16: О, переход 1Х[+] 14 [+] ,16 [+] 52 54 1 г14 ь- [г141? и М 1МС4(0) ОЕС4(1) ЕМТ4(2) ЕММ4(3) гХ «- [гХ)? ~ М 1ИСХ(0) РЕСХ(1) ЕИТХ(2) ЕМИХ(3) г16 «- [г!6)? А-М 1ИС6(0) РЕСб(1) ЕИТБ(2) ЕМИБ(3) г15 +- [г15)? А. М ТМСБ(0) ОЕСБ(1) ЕМТБ(2) ЕИИБ(3) 60 8 63 С! +- гх(Р): Ч СИРХ(О:Б) С1 «- г14[Р):Ч СМР4 (О: Б) С! +- г16[Р): Ч СИРб(0:Б) С1+- г15[Р): Ч СМРБ(0:5) гА †регис А гХ вЂ регис Х гАХ вЂ” регистры А и Х вместе г1з — индексный регистр з, 1 < з < 6 г] — регистр 1 С! — индикатор сравнения гА е- гАХ/Ч гХ е- остаток 01Ч (О: Б) 8017(б) г14 «- Ч 104(0:б) 20 й М(Р) +- г14 ЗТ4(0:б) 36 1+Т Специальные ИОИ(0) СНАВ(1) НЕТ(2) г!5 «- Ч 105(0:5) 21 г М[Р) +- г15 ЗТБ(0:б) 37 14Т Сдвиг на М байт ЗХА (0) ЗВА (1) 3!.АХ(2) ЗВАХ(3) 81.С(4) ЗВС(5) [«]: Л.
(4) 1Е(б) 10(Б) 1СЕ(7) ХИЕ(8) 11Е(9) [+]: < И(0) 2(1) > Р(2) > МИ (3) ф МХ (4) < ИР(б) В частности, заметим что ВИТА выполняется в течение одной единицы времени, а ЬОА — в течение двух, Время выполнения команд легко запомнить, потому что, за исключением команд сдвига, преобразования, ИОЬ и 017, число единиц времени равно числу обращений к оперативной памяти (включая обращение к самой команде). Основная единица измерения времени И1Х вЂ” это относительная мера, которую мы просто обозначим через и.
Ее можно считать равной, скажем, 10 мкс (для сравнительно недорогого компьютера) или 10 нс (для достаточно дорогого). Пример. Последовательность команд ЬРА 1000; 1ИСА 1; БТА 1000 выполняется ровно 5и. Мой взор пРоник в ЕЕ глубины— Туда, где бьется пульс машины. — ВИЛЬЯМ ВОРДСВОРС (УППШАМ 'ттОЯР5тЧОПТН), 5ле ИГаа а Рвапсогп оГ Оендлс (1604) Резюме. Итак. мы обсудили все характеристики И1Х, за исключением его "кнопки СО" (пуск), о которой пойдет речь в упр.
26. Хотя в компьютере И1Х приблизительно 150 различных операций, они вписываются в несколько простых схем и поэтому легко запоминаются. В табл. 1 приведены операции для параметра С. После имени каждой команды в круглых скобках указано стандартное значение поля Г. Следующие упражнения помогут лучше усвоить материал данного раздела. В основном, эти упражнения очень просты, так что постарайтесь их выполнить. УПРАЖНЕНИЯ 1. [00] Если бы И1Х был траичным компьютером, та сколько траичных чисел поместилось бы в байте? 3.
[03] Если бы величина, которую нужно представить в машине И1Х, могла достигать такого большого значения, как 99 999 999, та сколько соседних байтов было бы занято этой величиной? 3. [03] Укажите частичные спецификации поля (1 гК) для (а) адресного поля, (Ь) нндекснага поля, (с) поля спецификации паля я (с)) поля кода операций команды И1х.
4. [ОО] Последнии примером в (6) является команда ТАОА -2000,4". Насколько аяа законна ввиду того, чта адреса памяти не должны быть отрицательными? 6. [10] Какая символическая запись, аналогичная (4), соответствует (6), если (6) рассматривать как команду И1Х? О. [10] Предпалажим, чта в ячейке 3000 содержится Каким будет результат выполнения следующих команд? (Установите, являются ли какие-либо из них неопределенными илн талька частично определенными ) (а) ХОАИ 3000; (Ь) 192Н 3000(3:4); (с) 10Х 3000(1:3); (с)) 106 3000; (е) ХОХН 3000(0:О).
7. [М16] С помощью алгебраических операций Х шаг) У и [Х/1'] дайте точное определение результатов выполнения команды 017 для всех случаев, когда не происходит переполнение. 8, [15] В последнем примере команды ОТЧ на с, 165 содержимым гХ до операции является П::]~Ш~) + 1235 О 3 1 . Если бы содержимым регистра было — 1234 0 3 1, в то время как все остальные усйовия примера остались бы прежними, то что содержалось бы в регистрах А и Х после выполнения команды ОХЧ? 9.