Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
11 вариант.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
3.54 Mб
Скачать

2. Операции с кодами

2.1. А = 110, В = 70

Перевод из десятичной системы счисления в двоичную:

110 / 2 = 55, остаток 0 70 / 2 = 35, остаток 0

55 / 2 = 27, остаток 1 35 / 2 = 17, остаток 1

27 / 2 = 13, остаток 1 17 / 2 = 8, остаток 1

13 / 2 = 6, остаток 1 8 / 2 = 4, остаток 0

6 / 2 = 3, остаток 0 4 / 2 = 2, остаток 0

3 / 2 = 1, остаток 1 2 / 2 = 1, остаток 0

11010 = 11011102 7010 = 10001102

Перевод из двоичной системы счисления в десятичную:

11011102 = 1· 26 + 1· 25 + 0· 24 + 1· 23 + 1· 22 + 1· 21 + 0· 20 = 11010

10001102 = 1· 26 + 0· 25 + 0· 24 + 0· 23 + 1· 22 + 1· 21 + 0· 20 = 7010

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

110 / 16 = 6, остаток 14 (E) 70 / 16 = 4, остаток 6

11010 = 6EH 7010 = 46H

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

6EH = 6· 161 + 14· 160 = 11010

46H = 4· 161 + 6· 160 = 7010

2.2.

A + В: 1 1 0 1 1 1 0 6 E

1 0 0 0 1 1 0 4 6

1 0 1 1 0 1 0 0 B 4

A − В: 1 1 0 1 1 1 0 6 E

1 0 0 0 1 1 0 4 6

0 1 0 1 0 0 0 2 8

2.3.

A > 0: 0 1 1 0 1 1 1 0 - прямой код

0 1 1 0 1 1 1 0 - обратный код

0 1 1 0 1 1 1 0 - дополнительный код

B > 0: 0 1 0 0 0 1 1 0 - прямой код

0 1 0 0 0 1 1 0 - обратный код

0 1 0 0 0 1 1 0 - дополнительный код

A < 0: 1 1 1 0 1 1 1 0 - прямой код

1 0 0 1 0 0 0 1 - обратный код

1 0 0 1 0 0 1 0 - дополнительный код

B < 0: 1 1 0 0 0 1 1 0 - прямой код

1 0 1 1 1 0 0 1 - обратный код

1 0 1 1 1 0 1 0 - дополнительный код

2.4. А + В

А > 0, B > 0: Результат сложения получается больше 128, следовательно, для выполнения операции необходимо представить А и В как двухбайтные числа. В этом случае бит знака станет пятнадцатым.

Зн 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0

0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0

0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0

101101002 = 18010

А > 0, B < 0: 0 1 1 0 1 1 1 0

1 0 1 1 1 0 1 0

0 0 1 0 1 0 0 0

001010002 = 4010

А < 0, B > 0: 1 0 0 1 0 0 1 0

0 1 0 0 0 1 1 0

1 1 0 1 1 0 0 0 - дополнительный код отриц. числа

1 1 0 1 1 0 0 0

0 0 0 0 0 0 0 1

1 1 0 1 0 1 1 1 - обратный код отриц. числа

1 0 1 0 1 0 0 0 - прямой код отрицательного числа

101010002 = − 4010

А < 0, B < 0: 1 0 0 1 0 0 1 0

1 0 1 1 1 0 1 0

1 0 1 0 0 1 1 0 0 - дополнительный код отриц. числа

1 0 1 0 0 1 1 0 0

0 0 0 0 0 0 0 0 1

1 0 1 0 0 1 0 1 1 - обратный код отриц. числа

1 1 0 1 1 0 1 0 0 - прямой код отрицательного числа

1101101002 = − 18010

3. Сложение шестибайтных чисел без знака

3.1. B7 A1 D2 75 98 45

B8 B1 D3 86 9F 44

1 70 53 A5 FC 37 89

3.2. Программа

$MOD845

CSEG

ORG 0000H

JMPMAIN

ORG 004Bh

MAIN:

; Заполнение адресов 2АH-2FH первым слагаемым

MOV R0, #2AH

MOV @R0, #0B7H

INC R0

MOV @R0, #0A1H

INC R0

MOV @R0, #0D2H

INC R0

MOV @R0, #75H

INC R0

MOV @R0, #98H

INC R0

MOV @R0, #45H

; Заполнение адресов 3АH-3FH вторым слагаемым

MOV R1, #3AH

MOV @R1, #0B8H

INC R1

MOV @R1, #0B1H

INC R1

MOV @R1, #0D3H

INC R1

MOV @R1, #86H

INC R1

MOV @R1, #9FH

INC R1

MOV @R1, #44H

; Поправки для регистров R0 и R1 банка 0

INC R0

INC R1

; Заполнение адресов 40H-4FH результатом сложения

SETB 0D3H

MOV R1, #4FH

M1: CLR 0D3H

DEC R1

DEC R0

MOV A, @R0

MOV C, 05H

ADDC A, @R1

MOV 05H, C

SETB 0D3H

MOV @R1, A

DEC R1

CJNE R1, #40H, M1

END

РПД после каждого выполнения цикла:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]