У вас вопросы?
У нас ответы:) SamZan.net

практикум по дисциплинам ЭВМ и периферийные устройства Организация ЭВМ и систем Архитектура ЭВМ и

Работа добавлена на сайт samzan.net: 2016-06-20

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 6.4.2025

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

ОБРАЗОВАТЕЛЬНАЯ АВТОНОМНАЯ НЕКОММЕРЧЕСКАЯ ОРГАНИЗАЦИЯ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ВОЛЖСКИЙ УНИВЕРСИТЕТ имени В.Н. ТАТИЩЕВА» (институт)

В.Ф. ЛАРИНА

Лабораторный практикум

по дисциплинам «ЭВМ и периферийные устройства»,

«Организация ЭВМ и систем», «Архитектура ЭВМ и систем»

Часть 1

Тольятти 2012


ББК 32. 973

В.Ф.Ларина.  Лабораторный практикум по дисциплинам «ЭВМ и периферийные устройства», «Организация ЭВМ и систем», «Архитектура ЭВМ и систем». Часть 1. - Тольятти: Волжский университет им. В.Н.Татищева, 2012.- 105 с.

Содержит теоретические сведения и примеры, касающиеся систем счисления, особенностей операций сложения и вычитания с данными разного типа, прерываний, а также подробно прокомментированные примеры программ на языке Ассемблер.

Для студентов очного и заочного отделений специальностей 230101.65  «Вычислительные машины, комплексы, системы и сети» и 230201.65  «Информационные системы и технологии», для бакалавров очного и заочного отделений направления 230100 «Информатика и вычислительная техника».

Утверждено  Ученым  советом  ВУиТ    22.03.2012

©  ВОЛЖСКИЙ  УНИВЕРСИТЕТ  им.  В.Н.ТАТИЩЕВА, 2012

ВВЕДЕНИЕ

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

Язык Ассемблера является специфическим языком машинного уровня, его команды имеют взаимно-однозначное соответствие с системой машинных команд, они согласованы с архитектурой компьютера. Язык Ассемблера существует для каждого типа процессора или целого семейства процессоров, в частности, Ассемблер для IBM PC имеет систему команд, понимаемую различными процессорами производства INTEL.

Наиболее часто язык Ассемблера используется для непосредственного управления аппаратурой ЭВМ. Он необходим также при оптимизации критических блоков в прикладных программах для повышения их быстродействия.

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

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


Лабораторная  работа  1

СИСТЕМЫ СЧИСЛЕНИЯ

  1.  Цель работы

Изучение позиционных систем счисления: перевод чисел из одной системы в другую; сложение и вычитание чисел в различных системах счисления.

  1.  Позиционные системы счисления

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

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

Количество S различных цифр, употребляемых в позиционной системе счисления, называется ее основанием.

Любое число X в позиционной системе счисления можно представить в виде полинома от основания S:

X = kiSi + ki-1Si-1 + + k1S1 + k0S0 + k-1S-1 + k-2S-2 +

Для краткости число принято изображать в виде последовательности цифр:

X = kiki-1k1k0.k-1k-2 

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

В ЭВМ используются только позиционные системы счисления с различными основаниями.

Систему счисления, в которой записано число, обозначают подстрочным индексом, заключенным в круглые скобки, например: 1101(2), 369(10), BF(16) и т.д.


ПРИМЕР        

1101(10) = 1103+ 1102 + 0101 + 1100

1101(16)  = 1163 + 1162 + 0161 + 1160

1101(2)     = 1 23 + 1  22 + 0 21  + 1 20

1.2.2  В ЭВМ применяют двоичную, восьмеричную и шестнадцатеричную системы счисления. В компьютерной документации принято дополнять число спецификатором – буквой, указывающей, в какой системе оно записано. В конце двоичного числа ставится буква b (binary), в конце восьмеричного – буква o (octal) или q ( буква o похожа на нуль, поэтому рекомендуется использовать q), в конце 16-ричного – буква h. Ради общности спецификатор d (decimal)  можно указывать в конце десятичного числа, но обычно это не делается.

В двоичной системе счисления используются два символа: 0 и 1 ( S = 2 ). Одним из главных достоинств этой системы является тот факт, что для представления в ЭВМ разряда двоичного числа может быть использован любой простой элемент, имеющий всего два устойчивых состояния. Другое преимущество двоичной системы - простота двоичной арифметики.

Каждая позиция, занимаемая двоичной цифрой, называется бит. Бит является наименьшей единицей информации в ЭВМ.

В восьмеричной системе счисления употребляются восемь цифр ( 0...7 ), то есть  S = 8. Восьмеричная система счисления удобна для компактной формы записи чисел.

Шестнадцатеричная система счисления имеет основание S, равное 16. В общем виде шестнадцатеричное число выглядит следующим образом:

X = ki16i + ki-116i-1 + + k1161 + k0160 + k-116-1 +

где  km =  0 … 9, A, B, C, D, E, F, при этом:

A(16) = 10(10)  B(16) = 11(10)  C(16) = 12(10)

D(16) = 13(10)  E(16) = 14(10)  F(16) = 15(10)

Шестнадцатеричная система счисления позволяет короче записывать многоразрядные двоичные числа.

  1.  
    Преобразование чисел в десятичную систему счисления

Для перевода целого числа из любой системы счисления в десятичную необходимо записать его в виде полинома от основания своей системы счисления и подсчитать результат.

ПРИМЕР      

Преобразовать целые числа из двоичной, восьмеричной и шестнадцатеричной систем счисления в десятичную:

1001100(2) = 1  27 + 1  26+ 0  25+ 0 24 + 1 23+ 1  22+ 0 21+ 0  20 =

=  128    +   64    +    0     +      0    +    8    +    4     +     0    +   0        =  

=  204(10)

1100(8)    =  1 83   + 1   82 +  0  81+ 0  80 =

    =    512   +    64     +     0    +     0       =  576(10)

1A8F(16)     = 1  163  +   A  162  + 8  161 +  F   160  =

    = 1  4096  + 10  256    + 8  16    + 15     1    =

    =      4096  +      2560    +    128    +      15       =  6799(10)

  1.   Преобразование десятичных чисел в любую систему счисления

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


ПРИМЕР     

Десятичное число 57(10) преобразовать в двоичное число.

последовательность записи остатков

ПРИМЕР     

Десятичное число 577(10) преобразовать в шестнадцатеричное число.

  1.  Преобразование двоичных чисел в шестнадцатеричные

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

Замечание:  для удобства оперирования с рассматриваемыми числами следует помнить, что любая двоичная тетрада записывается в виде полинома:

(0 или 1)  23 + (0 или 1)  22 + (0 или 1)  21 + (0 или 1)  20 =

(0 или 1)   8   + (0 или 1)   4   + (0 или 1)   2    + (0 или 1)  1

ПРИМЕР     

Целое двоичное число  10101011111101(2)  записать в шестнадцатеричной системе.

0010  1010  1111  1101 (2) = 2AFD (16)

2  A  F  D

ПРИМЕР  

Дробное двоичное число 11101.01111 (2)  записать в шестнадцатеричной системе.

0001  1101.  0111  1000 (2)

1        D. 7 8  = 1D.78 (16)

  1.  Преобразование шестнадцатеричных чисел в двоичные

Каждую цифру шестнадцатеричного числа заменить  двоичной тетрадой.

ПРИМЕР    

Шестнадцатеричное  число    2AFD (16)  записать в двоичной системе.

2 A F D (16)

2       10      15       13 (10)

   0010 1010  1111  1101 (2)

      2AFD (16)  = 10101011111101(2)

  1.  Преобразование двоичных чисел в восьмеричные и наоборот

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

ПРИМЕР    

Двоичное число  10101011111101(2)  записать в восьмеричной системе.

010  101  011  111  101 (2)

Восьмеричное число 3406 (8)  записать в двоичной системе

3  4  0 6 (8)

011 100 000 110 (2)

  1.  Двоично-десятичная система счисления

Основание двоично-десятичной системы счисления равно 10, но каждая цифра изображается четырехразрядным двоичным числом. Обычно данная система счисления используется в ЭВМ при вводе и выводе больших объемов информации.

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

ПРИМЕР      

Записать десятичное число 572.38(10)  в двоично-десятичной системе счисления.

5      7      2.      3        8 (10)

0101  0111 0010. 0011 1000 (2-10)

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

ПРИМЕР      

Записать двоично-десятичное число 10010,010101(2-10) в десятичной системе счисления.

0001 0010. 0101 0100 (2-10)

1       2.       5       4 (10)        

  1.  Двоичная арифметика

1.9.1  Правила выполнения арифметических действий над двоичными числами определяются арифметическими действиями над одноразрядными двоичными числами.

Сложение  Вычитание  Умножение

0 + 0 =  0  0 - 0 = 0  0 * 0 = 0

0 + 1 =  1  1 - 0 = 1  1 * 0 = 0

1 + 0 =  1  1 - 1 = 0  0 * 1 = 0

1 + 1 =10  10 - 1 = 1  1 * 1 = 1

Правила выполнения арифметических действий во всех позиционных системах счисления аналогичны.

1.9.2    Сложение двоичных чисел начинается с правых (младших) разрядов. Если результат сложения цифр обоих слагаемых не помещается в этом же разряде результата, то происходит перенос. Цифра, переносимая в соседний разряд слева, добавляется к его содержимому. Такая операция выполняется над всеми разрядами слагаемых.

ПРИМЕР     

Выполнить сложение чисел, представленных в десятичной и двоичной системах  счисления  (формат - 1 байт).

1 1    1111111       перенос единицы

Слагаемое 1  099 (10)  01100011(2)

Слагаемое 2  095 (10)  01011111(2)

Сумма   194 (10)  11000010(2)

1.9.3   Операция вычитания двоичных чисел аналогична операции в десятичной системе счисления. Операция вычитания начинается с младшего разряда. Если содержимое разряда уменьшаемого меньше содержимого одноименного разряда вычитаемого, то происходит заем 1 из соседнего старшего разряда. Операция повторяется последовательно над всеми разрядами операндов.

ПРИМЕР     

Выполнить вычитание чисел, представленных в десятичной и двоичной системах  счисления  (формат - 1 байт).

  9  10                     1 2   заем

Уменьшаемое   1 0 0 9 (10)    0 1 0 0 1 1 0 1 (2)

Вычитаемое       0 0 4 9 (10)     0 0 1 1 0 0 0 1 (2)

Разность 0 9 6 0 (10)  0 0 0 1 1 1 0 0  (2)

  1.  Задание для самостоятельной работы

В качестве базы для получения исходных данных принять дату рождения студента в форматах ММДД,   ГГММДД   и  ДДММГГГГ  –  десятичные числа соответственно  A,  B  и  С.

Преобразовать числа B  и  С следующим образом: заменить нечетные цифры единицами, четные – нулями и приписать единицу слева к каждому из преобразованных чисел. Полученные числа обозначить  D   и   Е.

  1.  Выполнить преобразование числа A в различные системы счисления по схемам (числа указывают системы счисления):

 16 10

10 2

 8 10

10 2-10

  1.  Выполнить преобразование числа B по схеме:

10 16 2 10

  1.  Подсчитать:   D + Е,   Е – D

ПРИМЕР   получения исходных данных 

Пусть дата рождения студента – 28 марта 1988 года. В указанных выше форматах она записывается так: 0328,   880328   и   28031988, это соответственно числа A,  B  и  С.

Преобразование числа B: 880328    (1)000100    1000100  = D

Преобразование числа С: 28031988    (1)00011100    100011100 = Е




1. 1До VIII в.до н.э Фольклорный или долитературный период
2. Реферат- Физическое состояние человека
3. і. Бюджетсалы~ саясаты ~аржы ж~йесіні~ м~ні
4. Тема организованная преступность и коррупция
5. . 1 Газокинетическое и магнитное давления
6. РЕФЕРАТ Несторлітописець бл
7. Экзистенциально-ориентированная психотерапия
8. Автоматизированные системы в бухгалтерском учете является- формирование у студентов теоретических з
9. тема ~ формальная система
10. ТЕМАТИКА ДИПЛОМНЫХ ПРОЕКТОВ студентов 6 курса ЭАЗ60505 группы ЗДО факультета специальности 220301 на 2012-2013 уч