Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы микропроцессорной техники.Вариант 12..doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
592.9 Кб
Скачать

Министерство образования и науки Российской федерации

Государственное образовательное учреждение высшего профессионального образования

Псковский государственный политехнический университет

Задания

по курсу «Основы микропроцессорной техники»

для студентов заочной и заочно-сокращенной форм обучения

Псков, 2010

Задание №1. Системы счисления. Выполнение арифметических операций.

Задано арифметическое выражение. Числа имеют различную систему счисления. Размер чисел слово (два байта).

  1. Требуется выполнить вычисление заданного арифметического выражения. Все вычисления произвести в двоичной системе исчисления, т. е. все числа необходимо перевести в двоичную систему счисления, а затем произвести арифметические действия. Выделить бит переноса для каждого действия.

  2. Результат вычислений представить в следующих системах счисления: двоичная, восьмеричная, шестнадцатеричная и десятичная.

  3. Записать старший и младший байт результата в следующих системах счисления: : двоичная, восьмеричная, шестнадцатеричная, десятичная.

  4. Проверить результат с помощью калькулятора или компьютера.

При оформлении результатов вычислений необходимо подробное описание выполняемых действий. Варианты заданий приведены в таблице 1.1.

Варианты для задания №1

Формат задания

N1 O1 N2 O2 N3 O3 N4,

где

N1, N2, N3, N4 – числа, вариант выбирается из таблицы 1.2;

O1, O2, O3 – арифметические операции.

Таблица 1.1. Варианты заданий №1

Номер варианта

Вариант для N1

Вариант для O1

Вариант для N2

Вариант для O2

Вариант для N3

Вариант для O3

Вариант для N4

1

1

+

3

5

+

1

2

2

4

6

+

2

3

3

+

5

+

1

3

4

4

6

+

2

4

5

5

+

1

3

+

5

6

6

2

4

+

6

7

1

+

3

+

5

1

8

2

4

+

6

2

9

3

+

5

+

1

+

3

10

4

6

2

+

4

11

5

+

1

3

5

12

6

2

+

4

6

13

1

+

3

+

5

+

1

14

2

4

6

+

2

15

3

+

5

1

3

16

4

+

6

+

2

4

17

5

1

+

3

+

5

18

6

+

2

4

+

6

19

1

3

5

1

20

2

+

4

+

6

2

Таблица 1.2. Варианты чисел для N1, N2, N3, N4

Варианты для N1

Значение для N1

Значение для N2

Значение для N3

Значение для N4

1

2AD(16)

120(10)

327(8)

0000000101100010(2)

2

2313(8)

E3(16)

0000100110100110(2)

300(10)

3

1010001110001101(2)

13256(8)

102F(16)

1045(10)

4

63016(10)

0000100110100110B

70000(8)

B76(16)

5

0000100101100010B

1005(16)

3406(10)

170003(8)

6

6302(10)

F001(16)

7321(8)

0000001110001101(2)

Пример формирования задания.

Для варианта номер 5 задание имеет следующий вид:

0000100101100010 (2) + 120(10) – 102F(16) + 170003(8)

Пример выполнения задания №1

Задание:

123(16) + 321(8) – 25(10) + 1001110100(2)

Запишем задание в следующей форме:

123H + 321O – 25D + 1001110100B

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

Первое число задано в шестнадцатеричной системе счисления (в конце числа символ H). В шестнадцатеричной системе счисления каждая цифра занимает 4 бита. Осуществим преобразование:

1

2

3

HEX

0001

0010

0011

BIN

Так как, из задания известно, что размер данных два байта (16 бит) допишем слева незначащие нули, так чтобы общее количество бит было 16.

0000 0001 0010 0011 B

Получаем результат преобразования:

123H = 00000001 00100011B

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

3

2

1

OCT

011

010

001

BIN

Дополним результат до двух байт незначащими нулями. В результате получаем:

321O = 00000011 00100001B

Третье число имеет десятичную систему счисления (в конце числа символ D). Для преобразования воспользуемся методом последовательного деления на основание двоичной системы, т. е. на 2.

25:2

=12

25­–(12*2)

=1

12:2

=6

12–(6*2)

=0

6:2

=3

6–(3*2)

=0

3:2

=1

3–(1*2)

=1

Запишем результат, дополнив его незначащими нулями до размера два байта:

25D = 00000000 00011001B

Все числа преобразованы в двоичную систему счисления. Теперь переходим к выполнению арифметических действий. Выполним первое действие в двоичной системе:

+

0

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

123H

0

0

0

0

0

0

0

0

1

1

0

1

0

0

0

1

321O

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

0

перенос

0

0

0

0

0

0

0

1

1

1

1

1

0

1

0

0

результат

Бит переноса равен 0.

Для второго действия

0

0

0

0

0

0

0

1

1

1

1

1

0

1

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

0

0

1

25D

0

0

0

0

0

0

0

0

0

0

0

1

1

0

1

1

0

заём

0

0

0

0

0

0

0

1

1

1

0

1

1

0

1

1

результат

Бит переноса равен 0.

Для третьего действия

+

0

0

0

0

0

0

0

1

1

1

0

1

1

0

1

1

0

0

0

0

0

0

1

0

0

1

1

1

0

1

0

0

1001110100B

0

0

0

0

0

0

1

1

1

1

1

1

0

0

0

0

0

перенос

0

0

0

0

0

1

0

0

0

1

0

0

1

1

1

1

результат

В результате имеем

123H + 321O – 25D + 1001110100B = 0000000111011011 B