AOP_Tom1 (1021736), страница 41

Файл №1021736 AOP_Tom1 (Полезная книжка в трёх томах) 41 страницаAOP_Tom1 (1021736) страница 412017-07-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 41)

Ассемблер автоматически создает для буквенных констант внутренние имена и вставляет строки "СОИ". Например, в результате трансляции строк 10 и 11 программы Р получится соп1 соп2 Ы1 Ы2 а в конце программы, между строками 51 и 52, в результате трансляции будут вставлены строки 51а соп1 СОИ 515 соп2 СОИ 1-1. 3 2. Как и в программе М, псевдооперацня ЕОО из строки 03 определяет эквивалент символа. В данном случае эквивалентом Е назначено число 500. (В строках 10 — 24 этой программы Е представляет количество простых чисел, которые нужно найти.) Обратите внимание, что в строке 05 символу РК1ИЕ присваивается отрицательный эквивалент; вообще говоря, эквивалентом символа может быть любое число, состоящее из пяти байтов и знака.

В строке 07 эквивалент КОР1 вычисляется по формуле КОРО+25, что в результате дает 2025. В И1ХАЕ арифметические операции над числами можно выполнять в ограниченном объеме. Еще один пример арифметической операции появляется в строке 13, в которой ассемблер вычисляет значение РК1ИЕ+Е (в данном случае это 499). Трансляция строки 51а дает слово 499 Использовать буквенные константы (литералы), носок«пенно, удобно, так как программистам не нужно изобретать для тривиальных констант символические имена, а также помнить о том, что в конце каждой программы необходимо вставлять константы.

Таким образом, программист может сосредоточиться на главной задаче и не волноваться по поводу подобных деталей. (Однако нужно заметить, что примеры литералов в программе Р не слишком удачны, поскольку, заменив строки 10 и 11 более эффективными командами "ЕНТ1 1-1«и «ЕНТ2 3", мы несколько улучшили бы программу.) 5. Хороший язык ассемблера должен имитировать ход мыслей программиста при написании машинных программ, Одним из примеров этой философии является использование литералов, о которых только что шла речь, В качестве другого примера можно привести применение символа "*", которое обсуждалось при описании программы М.

А третьим примерам является идея использования локальных символов, таких как символ 2Н, который появляется в поле метки строк 12, 25 и 28. Локальные символы — это специальные символы, которые можно переопределять столько раз, сколько нужно. Глобальный символ, например РН1МЕ, имеет толька одно значение на протяжении всей програк«мы, и если бы он появился в поле метки более чем одной строки, то ассемблер зафиксировал бы ошибку.

Но локальные символы имеют различную природу; например, мы пишем 2Н ("2 Ьеге«вЂ” "2 здесь") в поле метки и 2р ("2 1огч«аг«Г' — "2 вперед") или 29 ("2 Ьас1съагд« вЂ”вЂ” "2 назад") в адресном поле строки м1ХА1.: 28 означает ближайшую предыдущую метку 2Н; 2г означает ближайшую следующую метку 2Н. Таким образом, символ "2Е«в строке 14 означает ссылку на строку 25, сик«вол "2В" в строке 24--ссылку назад, на строку 12, а символ "2В«в строке 37 — ссылку на строку 28. Адрес 2г или 2В никогда не относится к собственной строке. Например, три строки кода М1ХАЬ гН ЕОО 1О 2Н МОЧЕ 2г(29), 2Н ЕЦО 28-3 в сущности, эквивалентны одной строке МОЧЕ «-3(10) Символы 2г и 28 никогда не следует использовать в поле метки, а символ 2Н— в поле адреса.

Существует десять локальных символов, которые можно получить, заменив в этих примерах "2" любой другой цифрой от О до 9. Идею локальных символов выдвинул М. Э. Копией (М. Е. Сопи«ау) в 1958 году в связи с разработкой ассемблера для машины 1)М1ЪАС 1. Локальные символы освобождают программиста от необходимости выбора символических имен для каждого адреса, когда нужно всего лишь сослаться на команду, находящуюся на расстоянии нескольких строк. Соседним командам не всегда можно придумать подходящие имена, поэтому программисты склонны вводить такие лишенные содержания символы, как Х1, Х2, ХЗ и т. д., что создает потенциальную опасность их повторения. Поэтому использовать локальные символы в языке ассемблера очень полезно и совершенно естественно.

6. Адресная часть строк 30 и 38 пуста. Это означает, что в результате трансляции получится нулевой адрес. В строке 17 адресную часть тоже можно было бы оставить пустой, но без этого лишнего 0 программа стала бы менее наглядной. 7. В строках 43-47 используется операция АЕР., которая создает пятибайтовую константу в буквенно-цифровом символьном коде М1Х. Например, в результате трансляции строки 45 получится слово т, е, ",„ПОМО" (часть слова "пятьсот") †час строки заголовка в выходных данных программы Р. Все ячейки, содержимое которых не определено в программе М1ХАА, обычно обнуляются (за исключением ячеек, которые используются загружающей программой; обычно это ячейки 3700-3999).

Поэтому после строки 47 нет необходимости определять пробелы в других словах заголовка. 8. Вместе с операцией 0810 можно выполнять арифметические действия (см. строки 40, 42 и 48). 9, В последней строке законченной программы на языке М1ХАЕ всегда присутствует код операции ЕМО. Адрес в этой строке указывает на ячейку, с которой начинает выполняться программа после загрузки в память. 10. И в завершение анализа программы Р следует отметить, что ее команды построены так, чтобы значения в индексных регистрах можно было сравнивать с нулем, когда это только возможно. Например, в регистре г11 сохраняется величина 1-500, а не Л.

Особого внимания в этом смысле заслуживают строки 26-34, хотя разобраться в них,наверное, непросто. Интересно отметить статистические характеристики, которые наблюдаются во время реальной работы программы Р. Команда деления из строки 19 была выполнена 9 538 раз, а время выполнения строк 10-24 составило 182144и. Программы на языке МХХАЕ можно перфорировать на картах или набрать на терминале компьютера, как показано на рис. 15. При использовании перфокарт выбирается следующий формат. Но если в колонке 1 содержится звездочка, то все содержимое перфокарты рассматривается как комментарий. Поле АДРЕС заканчивается первой же пустой колонкой (пробелом), следующей за колонкой 16.

Справа от этой первой колонки можно Колонки 1-10 Колонки 12-15 Колонки 17-80 Колонки 11, 16 Поле МЕТКА Поле ОП Поле АДРЕС и необязательныс примечания Пустые 11 ! 11 П1 111 1 11 1 1!! !11! ° 1 1 111 ° 3 ° 1 ° 11Н ° ° Н ° 1 ° ВВНН11ННВН ° 11 ° 31$ ° НВ ° Н1$1<1 ° 1 ° НВВВНВВВНВП11В ° ННИВ1 и 1 111! э н! э 3 1 11 н э э и 11 1 3 э э э н э э 31 3 1 3 э э! э э 1 1 н э 1 1 3 э н н 3 э э э 1 э э 1 1 3 э э 3 1 3 3 11 э! 1 э э! ! 3 3! 3 Н Н Н 3 Н $3 3! Н Н Н 1 3! Н! Н Н Н 1 3! 3 1 3 3 Н Н 3 3 1 Н 1 3 3 1! Н 1 3 1 3 Н! Н!! Н! Н 1 1 Н 1 13Н! !$!<Ниии!11111Н11111<НФНН<3НН341Н< ННФФН13!НННН133Н<33Н1 1444414<4444444 ° 14444444144444 ° 444 ° 44144414 ° 444444444444444 ° 44 ° 14444414444444<44 НВ! н Н13 $ < и ! и и ! < и и!В«и и и!и и и и и и и!и и!и и и < и и ФЪ ! < НФ< и 3 и 1 ° н!ПППВВ<и11 ° 11 ° ВФПП11нпн ° н!Пнн<ИВВППННВ$1!В!и!И!и! ° н ° $ ° 1311311331133 ° 331ЭЭЭЭЭЭ11313133131331ЭЭФЭЭЭ313133331131Э333113333333133333333333 Ви ° ИИИИВИИ$111 ° !3 ° ° 1<3 ° 3 ° ИВВ ° ° и<н ° <13! ° н!ВИВ$<В1П!Вин<инни!И ° 11 ° 11$И411341И ° н< ° 1 ° ИИВ ° ° 1ВВИИИ$$И<$ИИ!н ° 1ни!н ° $3В4ПНВВ< ° <14< ° 4 ПРИИЕР ПРОГРАИИЫ...

ТАБЛИЦА ПРОСТЫХ ЧИСЕЛ ь еОО БОО РЕТБТЕЕ ЕОО 1Б РЛТИЕ ЕОО -1 БОРО ЕОО 2000 БОР1 ЕОО БОРО+20 ОПТО ЗООО БтАБт ХОс 01РБХБтеку 1.01 =1-1= Рис. 15. Первые строки программы Р, перфорированные на картах либо набранные на терминале. перфорировать любые комментарии, которые не влияют на транслируемую программу, (РФсключение. Если в поле ПП содержится команда АЕР, то примечания всегда начинаются в колонке 22.) Когда входные данные вводятся с терминала, используется менее ограничительный формат: поле МЕТКА заканчивается первым же пробелом, а поля ПП и АДРЕС (если они есть) начинаются непустым символом и продолжаются до следующего пробела.

В то же время за особым кодом операции АЕР следуют либо два пробела и пять буквенно-цифровых символов, либо один пробел и пять буквенно-цифровых символов, первый из которых не является пробелом. В оставшейся части каждой строки могут содержаться примечания. Ассемблер МТХ берет подготовленные таким образом файлы и преобразует их в загрузочные модули программ на машинном языке. При благоприятном стечении обстоятельств читатель сможет получи~ь доступ к ассемблеру М1Х и имитатору М1Х и проработать различные упражнения из этой книги. Теперь вы знаете, что можно сделать с помощью языка М1ХАЕ. В заключение этого раздела мы дадим более подробное описание правил и, в частности. обратим внимание на то, чего не разрешается делать на языке М1ХАЕ.

Фактически язык определяется сравнительно небольшим количеством правил, приведенных ниже. 2. г/ислв — это строка, содержащая от одной до десяти цифр. Пример 00052. 3. В каждом случае появления в программе М1ХАР символ называется либо определенным символом, либо ссылкой вперед. Определенный символ — это символ, который появляется в поле МЕТКА одной из предыдущих строк программы М1ХАЕ. Ссылка вперед — это символ, который пока еще не был определен подобным образом. 4. Элементарное выражение — это либо а) число, либо Ъ) определенный символ (обозначающий числовой эквивалент этого символа, см.

правило 13),либо с) звездочка (обозначающая значение Ов; см. правила 10 и 11). 5. Выражение — зто либо а) элементарное выражение, либо Ь) элементарное выражение, перед которым стоит знак "+" или "— ", либо с) выражение, за которым следует бинарная операция, а за ней — элементарное выражение. Допустимыми являются шесть следующих бинарных операций: +, -, *, /, // и: .

Характеристики

Тип файла
DJVU-файл
Размер
7,53 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6458
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее