16
Группы арифметических и логических команд Национальный технический университет «Харьковский политехнический институт» Кафедра «Промышленная и биомедицинская электроника» Практическое занятие по дисциплине «Микропроцессорная техника» Б.А. Стысло г. Харьков, 2014 г. 1

Группы арифметических и логических команд

  • Upload
    akira

  • View
    67

  • Download
    2

Embed Size (px)

DESCRIPTION

Национальный технический университет «Харьковский политехнический институт». Кафедра «Промышленная и биомедицинская электроника». Практическое занятие по дисциплине «Микропроцессорная техника». Группы арифметических и логических команд. Б.А. Стысло. г. Харьков, 2014 г. - PowerPoint PPT Presentation

Citation preview

Page 1: Группы арифметических и логических команд

Группы арифметических и логических команд

Национальный технический университет« Харьковский политехнический

»институт « Кафедра Промышленная и биомедицинская

»электроника

Практическое занятие по дисциплине« »Микропроцессорнаятехника

. . БА Стысло

. , 2014 .г Харьков г1

Page 2: Группы арифметических и логических команд

ГРУППААРИФМЕТИЧЕСКИХКОМАНД

2

Page 3: Группы арифметических и логических команд

ГРУППААРИФМЕТИЧЕСКИХКОМАНД

Флаги результата

PSW

СY AC F0 RS1 RS0 OV - P

Флагпереполнения

Флагпереноса(заема)

Вспомогательныйперенос

Флаг CY , устанавливается если в старшем бите результата возникает перенос . Y или заем При выполнении операций умножения и деления флаг С

.сбрасывается

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

Флаг OV , устанавливается если результат операции сложения или вычитания ( ) не укладывается в семи битах и старший восьмой бит результата не может

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

OV , 255.флаг устанавливается если результат больше

Page 4: Группы арифметических и логических команд

MOV R0, #10MOV А, #20ADD A, R0

ГРУППААРИФМЕТИЧЕСКИХКОМАНД

A ← A + Rn

Операции сложения

ADD A, Rn

C ложение аккумулятора с РОН

MOV А, #15ADD A, #5

A ← A + #dADD A, #d

C ложение аккумулятора байтом данных

Page 5: Группы арифметических и логических команд

MOV А, #10ADD A, #250

ГРУППААРИФМЕТИЧЕСКИХКОМАНД

Операции сложения

:Выполните действия: Результат A = 4, CY

=1

00001010

11111010+

100000100

Page 6: Группы арифметических и логических команд

ГРУППААРИФМЕТИЧЕСКИХКОМАНД

Операции сложения

Произвести сложение двухбайтного числа(R1:R0=300)

(с константой 250). Результат поместить в R1:R0

300 = 12Ch ⇒ R1=01h; R2=2Ch

: Ожидаемыйответ550 = 0226h

Page 7: Группы арифметических и логических команд

MOV R0, #10MOV А, #25SUBB A, R0

ГРУППААРИФМЕТИЧЕСКИХКОМАНД

A ← A – (C) - Rn

Операции вычитания

SUBB A, Rn

Вычитание РОНиз аккумулятора

MOV А, #15SUBB A, #5

A ← A – (C) - #dSUBB A, #d

Вычитание байта данных из аккумулятора

Перед операцией вычитания необходимо сбрасыватьфлаг С

Page 8: Группы арифметических и логических команд

MOV R0, #10INC R0

ГРУППААРИФМЕТИЧЕСКИХКОМАНД

Rn ← Rn + 1

, Операцииинкремента декремента

INC Rn

Инкремент значения регистра

MOV 20h, #15DEC 20h

ad ← ad – 1DEC ad

Декремент байта в РПД

Page 9: Группы арифметических и логических команд

ГРУППАЛОГИЧЕСКИХОПЕРАЦИЙ

Page 10: Группы арифметических и логических команд

MOV А, R3ANL A, #01010101bMOV R3, A

ГРУППАЛОГИЧЕСКИХОПЕРАЦИЙ

A ← A AND RnANL A, Rn

« »Логическое И

1, 3, 5, 7 Обнулить биты регистра R3:

A ← A AND #dANL A, #d

Page 11: Группы арифметических и логических команд

MOV А, R3ORL A, #00010100bMOV R3, A

ГРУППАЛОГИЧЕСКИХОПЕРАЦИЙ

A ← A OR RnORL A, Rn

« »Логическое ИЛИ

2, 4- Установить в единичное состояние й биты регистраR3:

A ← A OR #dORL A, #d

Page 12: Группы арифметических и логических команд

MOV А, 08hCPL AMOV 08h, A

ГРУППАЛОГИЧЕСКИХОПЕРАЦИЙ

A ← /ACPL A

« » ( )Логическое НЕ инверсия

Инвертировать содержимое ВПД по адресу 08h

Page 13: Группы арифметических и логических команд

ГРУППАЛОГИЧЕСКИХОПЕРАЦИЙ

RR A

Циклический сдвиг

Сдвиг аккумулятора вправо циклический ( деление на2)

b7 b6 b5 b4 b3 b2 b1 b0

RL A

Сдвиг аккумулятора влево циклический ( умножение 2на )

b7 b6 b5 b4 b3 b2 b1 b0

Page 14: Группы арифметических и логических команд

ГРУППАЛОГИЧЕСКИХОПЕРАЦИЙ

RRС A

Сдвиг черезфлаг переноса

Сдвиг аккумулятора вправо через флаг переноса

RLС A

Сдвиг аккумулятора влево через флаг переноса

b7 b6 b5 b4 b3 b2 b1 b0

С

b7 b6 b5 b4 b3 b2 b1 b0

С

Page 15: Группы арифметических и логических команд

ГРУППАЛОГИЧЕСКИХОПЕРАЦИЙ

Битовые операции

2- Установить й бит порта1РSETB P1.2

2- :ПереключитьМК на й банк регистров

1- Сбросить й битаккумулятораCLR ACC.1

PSW

С AC F0 RS1 RS0 OV - P

RS1:RS0 = 00

RS1:RS0 = 01

RS1:RS0 = 10

RS1:RS0 = 11

SETB RS1CLR RS0

Page 16: Группы арифметических и логических команд

Thank you for your attention!

The End.

16