Главная » Просмотр файлов » Учебное пособие для иностранных студентов

Учебное пособие для иностранных студентов (1110580), страница 4

Файл №1110580 Учебное пособие для иностранных студентов (Учебное пособие для иностранных студентов) 4 страницаУчебное пособие для иностранных студентов (1110580) страница 42019-04-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Кроме тех регистров, которые мы обсуждали в §2, в арифметическом устройстве УМ-3 имеются регистры первого операнда ОП1, второго операнда ОП2 и результата РЕЗ.

2. Оперативная память.

Ячейка - 14 шестнадцатиричных разрядов.

Объем ОП - 164 ячеек с адресами 0000FFFF.

Представление чисел: число содержится в одной ячейке; отрицательные числа записываются в дополнительном коде.

Представление команд: команда занимает одну ячейку. Разряды ячейки имеют следующий смысл (формат команд):

       

КОП А1 А2 А3

Здесь КОП – код операции (указывает, какую машинную операцию надо выполнить); А1, А2, А3 – адреса первого, второго операндов и результата. Разрядность адресов совпадает с разрядностью регистра СА и определяется объемом ОП (а именно, количеством возможных адресов). Количество разрядов в регистрах ОП1, ОП2, РЕЗ и РК должно совпадать с количеством разрядов ячейки ОП, так как в ОП1, ОП2 и РЕЗ должны поместиться числа, а в РК – команда, которые занимают по одной ячейке ОП.

3. Система команд УМ-3.

Система команд ЭВМ – это набор всех машинных команд данной ЭВМ.

Название

КОП

Операция

Примечание

останов

99

стоп

А1,А2,А3 - любые

пересылка

00

[А1]  [А3]

А2 - любой

арифметические

сложение

01

[А1]+[А2]  [А3]

Устанавливаются

вычитание

02

[А1]-[А2]  [А3]

арифметические флаги

умножение

со знаком

03

[А1]*[А2]  [А3]

без знака

13

деление

со знаком

04

[А1] div [А2]  [А3], [А1] mod [А2]  [А3+1]

без знака

14

переходы

безусловный

80

перейти к А3

А1,А2 - любые

условные

После выполнения

по =

81

при [А1]=[А2]

перейти к А3

команды перехода работа продолжается

по 

82

при [А1][А2]

перейти к А3

с команды, записанной в ячейке с адресом A3

по 

с/зн - 83 б/зн - 93

при [А1][А2] перейти к А3

по 

с/зн - 84 б/зн - 94

при [А1] [А2] перейти к А3

по 

с/зн - 85 б/зн - 95

при [А1][А2] перейти к А3

по 

с/зн - 86 б/зн - 96

при [А1] [А2] перейти к А3

В таблице использовано обозначение [A] – содержимое ячейки с адресом A.

Арифметические команды выполняются следующим образом: содержимое ячеек с адресами A1 и A2 пересылается в регистры ОП1 и ОП2, выполняется арифметическая операция (результат – в регистре РЕЗ), содержимое регистра РЕЗ пересылается в ячейку с адресом А3. Следует обратить внимание на то, что есть две команды умножения и две команды деления. Программист использует подходящую команду в зависимости от того, с какими данными (числами со знаком или без знака) должна работать программа. Команда деления дает два результата – частное и остаток. Они записываются в соседние ячейки: частное – по адресу А3, остаток – в ячейку с адресом А3+1.

Действие команд перехода заключается в изменении содержимого регистра СА. При этом на следующем такте работы ЦП будет выполнять команду, записанную в ячейке с адресом А3. (Вспомните §2.)

В командах условного перехода производится проверка соответствующего условия. Если условие выполняется, тогда в СА записывается адрес А3. Сравнение значений [ А1] и [А2] выполняется так: в ОП1 записывается [А1], в ОП2 – [А2]; выполняется вычитание ОП1-ОП2, при этом получают значение все четыре арифметических флажка. По значениям флагов и определяется истинность условия. Некоторым условиям (например,<) соответствуют разные наборы значений флагов для разных данных – чисел со знаком и чисел без знака. Поэтому команды переходов для чисел со знаком и чисел без знака разные.

Рассмотрим на примерах соответствие между условиями и значениями флагов.

1) Переход по равенству. В результате вычитания [А1] - [А2] получится ZF=1 тогда и только тогда, когда [А1] = [А2].

2) Переход по "меньше", числа без знака.

[А1] < [А2]  [А1] - [А2] < 0  CF=1.

3) Переход по "меньше", числа со знаком. Если вычитаются числа со знаком, то при [А1] < [А2], [А1] - [А2] < 0, возможны ситуации

а) результат вычислили правильно (OF=0) и он оказался отрицательным (SF=1),

б) результат вычислили неправильно (OF=1), при этом знак вычисленного значения противоречит знаку числа [А1] - [А2], вычисленный результат оказался положительным, то есть SF=0.

Таким образом, для чисел со знаком
[А1] < [А2]  [А1] - [А2] < 0  (OF=1) and (SF=0) or (OF=0) and (SF=1), или более коротко OF  SF. При выполнении команды перехода по "меньше" для чисел со знаком процессор проверяет выполнимость условия OF  SF.

4. Разберем теперь несколько примеров программ для УМ-3. Условимся, что перед началом работы

1) в СА записывается 0100, то есть выполнение начинается с команды по адресу 0100,

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

Пример 1. Вычислить значение x= ( a mod 50 - b )2 по заданным a и b.

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

Адрес

Содержимое

0000

a

0001

3216 (=5010)

0002

b

0003

x

0004

рабочая (потребуется для деления)

Программа.

Адрес

Содержимое ячейки

Комментарий

0100

04 0000 0001 0003

a mod 50  [0004]

0101

02 0004 0002 0003

[0004] - bx

0102

03 0003 0003 0003

xxx

0103

99 0000 0000 0000

стоп

Напомним, что деление даёт два результата, поэтому первая команда программы записывает в [0003] x div 50 (это значение в дальнейшем не используется) и в [0004] a mod 50.

Пример 2. Вычислить

S1 = max(a,b) * 20,

S2 = min(a,b) div 3.

Вычисления организуем так:

begin if a < b then begin S1 := b; S2 := a end

else begin S1 := a; S2 := b end;

S1 := S1 * 20;

S2 := S2 div 3

end.

Данные:

0000 a

0001 b

0002 1416 (=2010)

0003 3

0004 S1

0005 S2

0006 рабочая.

Будем считать, что работаем с числами без знака.

Программа:

Адрес

Содержимое ячейки

Комментарий

0100

94 0000 0001 0104

if ab, go to 0104

0101

00 0001 0000 0004

S1 := b

часть

0102

00 0000 0000 0005

S2 := a

then

0103

80 0000 0000 0106

go to 0106

0104

00 0000 0000 0004

S1 := a

часть

0105

00 0001 0000 0005

S2 := b

else

0106

13 0004 0002 0004

S1 := S1 * 20

0107

14 0005 0003 0005

S2 := S2 div 3

0108

99 0000 0000 0000

стоп

Пример 3. Вычислить p = n!.

Алгоритм:

begin p:=1; k:=2;

while k n do

begin p := p * k;

k := k + 1

end

end.

В этой задаче могут возникнуть довольно большие положительные числа, поэтому будем работать с числами без знака.

Данные:

0000 n

0001 1

0002 2

0003 p

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

Тип файла
Документ
Размер
576 Kb
Тип материала
Высшее учебное заведение

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

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