Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Obsluga

.pdf
Скачиваний:
24
Добавлен:
13.02.2015
Размер:
960.46 Кб
Скачать

Приложение №6

Регистр INTCON

 

GIE

 

EEIE

 

 

 

T0IE

 

INTE

RBIE

 

T0IF

 

INTF

 

RBIF

7

 

6

 

 

 

5

 

4

3

 

2

 

1

 

0

 

 

 

 

 

 

 

 

 

 

Бит 7

 

 

 

Гобальное разрешение прерываний:

 

 

 

 

 

 

GIE

1 – разрешены все немаскированные прерывания

 

 

 

 

 

 

0

все прерывания запрещены

 

 

 

 

 

 

Бит 6

 

 

EEIE

Разрешение прерываний по окончанию записи в EEPROM:

 

 

 

1 –

прерывание разрешено

 

 

 

 

 

 

 

 

 

 

0

прерывание запрещено

 

 

 

 

 

 

 

 

 

 

Разрешение прерывания по переполнению TMR0:

 

 

Бит 5

 

 

TOIE

1 –

прерывание разрешено

 

 

 

 

 

 

 

 

 

 

0

прерывание запрещено

 

 

 

 

 

 

Бит 4

 

 

INTE

Разрешение прерывания по входу RB0/INT:

 

 

 

 

 

 

1 –

прерывание разрешено

 

 

 

 

 

 

 

 

 

 

0

прерывание запрещено

 

 

 

 

 

 

 

 

 

 

Разрешение прерывания по изменению уровней сигналов на

 

Бит 3

 

 

RBIE

выводах RB4...RB7:

 

 

 

 

 

 

 

 

 

 

 

 

1

прерывание разрешено

 

 

 

 

 

 

 

 

 

 

0

прерывание запрещено

 

 

 

 

 

 

Бит 2

 

 

T0IF

Флаг прерывания по переполнению TMR0 (сбрасывается

 

 

 

программно):

 

 

 

 

 

 

 

 

 

 

 

 

 

1

произошло переполнение TMR0

 

 

 

 

 

 

 

 

 

 

0

переполнения TMR0 не было

 

 

 

 

 

 

 

 

 

 

Флаг прерывания по входу RB0/INT (сбрасывается

 

 

Бит 1

 

 

INTF

программно):

 

 

 

 

 

 

 

 

 

 

 

 

 

1

произошло прерывание по входу RB0/INT

 

 

 

 

 

 

 

 

0

прерывания по входу RB0/INT не было

 

 

 

 

 

 

 

 

Флаг прерывания по изменению уровней сигналов на

 

 

 

 

 

 

выводах RB4...RB7 (сбрасывается программно):

 

 

Бит 0

 

 

RBIF

1 –

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

 

 

 

 

 

0

входов RB4...RB7

 

 

 

 

 

 

 

 

 

 

 

 

не было изменения уровня сигнала ни на одном из

 

 

 

 

 

 

 

 

 

входов RB4...RB7

 

 

 

 

 

 

 

СИМВОЛЫ КОНФИГУРАЦИИ

Состав символов можно узнать из файла .INC

 

 

Назначение

 

Символ

 

Назначение

 

 

Символ

 

 

 

 

 

_RC_OSC

 

Сброс по сниже-

 

 

_BODEN_ON

 

 

 

 

 

 

 

 

 

 

 

 

 

_EXTRC_OSC

 

нию U пит.

 

 

_BODEN_OFF

 

 

 

 

 

_EXTRC_OSC_ CLKOUT

 

Режим работы

 

 

_MLCRE_ON

 

 

 

 

 

_EXTRC_OSC_NOCLKOUT

 

вывода –MCLR

 

 

_MLRCE_OFF

 

 

 

Тактовый

 

_INTRC_OSC

 

 

 

 

_CP_ALL

 

 

 

генератор

 

_INTRC_OSC_CLKOUT

 

Защита памяти

 

_CP_ON

 

 

 

 

 

_INTRC_OSC_NOCLKOUT

 

программ

 

_CP_75

 

 

 

 

 

_LP_OSC

 

 

 

 

_CP_50

 

 

 

 

 

_XT_OSC

 

 

 

 

_CP_OFF

 

 

 

 

 

_HS_OSC

 

Защита EEPROM

 

 

_DP_ON

 

 

 

Сторожевой

 

_WDT_ON

 

памяти данных

 

 

_DP_OFF

 

 

 

таймер WDT

 

_WDT_OFF

 

Защита калибровоч-

 

_CPC_ON

 

 

 

Таймер вкл я

 

_PWRTE_ON

 

ной информации

 

_CPC_OFF

 

 

 

питания

 

_PWRTE_OFF

 

 

 

 

 

 

 

 

PWRT

 

 

 

 

 

 

 

 

31

Приложение №7

Регистр EECON1

 

7:5 –

читаются как 00h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

EEIF

WRERR

WREN

WR

RD

 

 

7

 

6

 

 

 

5

4

3

2

1

0

 

 

 

 

 

 

 

 

 

 

 

 

Флаг прерывания по окончанию записи в EEPROM

 

 

 

Бит4

 

EEIF

(сбрасывается программно):

 

 

 

 

 

 

 

 

1

запись данных в EEPROM завершена

 

 

 

 

 

 

 

0

запись данных в EEPROM не завершена или не была начата

 

 

 

 

 

Флаг ошибки записи в EEPROM:

 

 

 

 

 

 

 

 

1

запись прервана

 

 

 

 

 

 

Бит 3

WRERR

 

 

 

(произошел один из сбросов: по сигналу MLCR, по

 

 

 

 

 

 

 

 

 

переполнению WDT в нормальном режиме, по снижению U

 

 

 

 

 

0

питания BOR)

 

 

 

 

 

 

 

 

 

запись завершена

 

 

 

 

 

 

Бит 2

 

WREN

Разрешение записи в EEPROM:

 

 

 

 

 

 

1 – запись разрешена

 

 

 

 

 

 

 

 

 

0

запись запрещена

 

 

 

 

 

 

 

 

 

Инициализизация записи в EEPROM (программно может быть

 

 

Бит 1

 

WR

установлен только в 1, сбрасывается аппаратно):

 

 

 

 

 

 

1

инициализация записи

 

 

 

 

 

 

 

 

0

запись завершена

 

 

 

 

 

 

 

 

 

Инициализизация чтения из EEPROM (программно может быть

 

 

Бит 0

 

RD

установлен только в 1, сбрасывается аппаратно):

 

 

 

 

 

 

1

инициализация чтения

 

 

 

 

 

 

 

 

0

чтение завершено

 

 

 

 

 

32

Приложение №8

Биты КОНФИГУРАЦИИ

Адрес 2007h

 

13

 

12

 

11

 

10

 

9

 

 

8

7

 

6

5

 

 

CP

 

-PWRTE

WDTE

FOSC1

 

FOSC0

 

 

Не задействованы (читаются как 1)

4

 

3

2

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Бит защиты:

 

 

 

 

 

 

 

 

 

 

 

 

Бит 4

 

 

CP

 

1 – защита выключена

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 –

защита включена

 

 

 

 

 

 

 

 

 

 

Бит 3

 

-PWRTE

 

Бит разрешения работы таймера включения питания PWRT:

 

 

 

 

 

0 – будет производиться выдержка при включении питания

 

 

 

 

 

 

 

 

 

 

 

 

 

1 –

выдержки производиться не будет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Бит разрешения работы сторожевого таймера WDT:

 

 

 

 

Бит 2

 

WDTE

 

1 – WDT включен

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 – WDT выключен

 

 

 

 

 

 

 

 

 

 

Бит 1,0

 

FOSC1

 

Биты выбора типа генератора

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FOSC0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Режимы тактового генератора

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00

 

 

 

LP - генератор

 

НЧ генератор для экономичных приложений

 

 

 

01

 

 

 

XT - генератор

 

Стандартный кварцевый генератор

 

 

 

 

 

10

 

 

 

HS - генератор

 

ВЧ кварцевый генератор

 

 

 

 

 

 

 

 

11

 

 

 

RC - генератор

 

RC генератор с внешней RC цепью

 

 

 

 

 

 

Напряжение питания

 

 

 

 

 

Тип генератора

 

 

Макс. рабочая частота

 

 

 

 

 

 

 

 

2 – 3 v

 

 

 

 

 

 

 

 

 

 

RC

 

 

 

 

2 Мгц

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LP

 

 

 

 

200 Кгц

 

 

 

 

 

 

 

 

 

3 – 6 v

 

 

 

 

 

 

 

 

 

 

RC, XT

 

 

 

 

4 Мгц

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LP

 

 

 

 

200 Кгц

 

 

 

 

 

 

 

 

4,5 – 5,5 v

 

 

 

 

 

 

 

 

 

 

HS

 

 

 

 

10 Мгц

 

 

Биты конфигурации задаются с помощью директивы CONFIG.

 

 

 

 

ПРИМЕР:

LIST

 

p=p16C77

 

; Выбор типа м/контроллера.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

#INCLUDE

 

<P16C77.INC> ; Подключение вспомогательного файла.

 

 

 

 

 

 

 

 

;Настройка битов конфигурации

 

 

 

 

 

 

 

 

 

 

 

 

 

 

__CONFIG _XT_OSC & _PWRTE_ON & _CP_OFF &_WDT_ON

 

 

 

 

 

 

 

 

.............................................

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.............................................

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

org

0

 

 

 

 

 

; Установка нулевого адреса в памяти программ.

 

 

 

 

 

 

 

goto

 

START

 

; Начало исполнения программы.

 

 

......................

......................

-------------------------------------------------------------------------

end

Набор символов, доступных для конкретного микроконтроллера, находится в соответствующем файле .INC

33

Приложение №9

Таблица чисел, отображаемых в одном байте

 

D

 

B

 

 

H

 

 

D

 

B

 

 

H

 

 

D

 

B

 

 

H

 

 

D

 

B

 

 

H

 

 

 

0000

0000

 

00

 

 

 

 

0100

0000

 

40

 

 

 

 

1000

0000

 

80

 

 

 

 

1100

0000

 

 

C0

0

 

 

 

64

 

 

 

128

 

 

 

192

 

 

 

 

1

 

0000

0001

 

01

 

 

65

 

0100

0001

 

41

 

 

129

 

1000

0001

 

81

 

 

193

 

1100

0001

 

 

C1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

0000

0010

 

02

 

66

 

0100

0010

 

42

 

130

 

1000

0010

 

82

 

194

 

1100

0010

 

 

C2

 

3

 

0000

0011

 

03

 

 

67

 

0100

0011

 

43

 

 

131

 

1000

0011

 

83

 

 

195

 

1100

0011

 

 

C3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0000

0100

 

04

 

 

 

 

0100

0100

 

44

 

 

 

 

1000

0100

 

84

 

 

 

 

1100

0100

 

 

C4

4

 

 

 

68

 

 

 

132

 

 

 

196

 

 

 

 

5

 

0000

0101

 

05

 

 

69

 

0100

0101

 

45

 

 

133

 

1000

0101

 

85

 

 

197

 

1100

0101

 

 

C5

 

 

 

0000

0110

 

06

 

 

 

 

0100

0110

 

46

 

 

 

 

1000

0110

 

86

 

 

 

 

1100

0110

 

 

C6

6

 

 

 

70

 

 

 

134

 

 

 

198

 

 

 

 

7

 

0000

0111

 

07

 

 

71

 

0100

0111

 

47

 

 

135

 

1000

0111

 

87

 

 

199

 

1100

0111

 

 

C7

8

 

0000

1000

 

08

 

72

 

0100

1000

 

48

 

136

 

1000

1000

 

88

 

200

 

1100

1000

 

 

C8

 

 

 

0000

1001

 

09

 

 

 

 

0100

1001

 

49

 

 

 

 

1000

1001

 

89

 

 

 

 

1100

1001

 

 

C9

9

 

 

 

73

 

 

 

137

 

 

 

201

 

 

 

 

 

 

0000

1010

 

 

0A

 

 

 

 

0100

1010

 

 

4A

 

 

 

 

1000

1010

 

 

8A

 

 

 

 

1100

1010

 

 

CA

10

 

 

 

 

74

 

 

 

 

138

 

 

 

 

202

 

 

 

 

 

 

0000

1011

 

 

0B

 

 

 

 

0100

1011

 

 

4B

 

 

 

 

1000

1011

 

 

8B

 

 

 

 

1100

1011

 

 

CB

11

 

 

 

 

75

 

 

 

 

139

 

 

 

 

203

 

 

 

 

 

 

0000

1100

 

 

0C

 

 

 

 

0100

1100

 

 

4C

 

 

 

 

1000

1100

 

 

8C

 

 

 

 

1100

1100

 

 

CC

12

 

 

 

 

76

 

 

 

 

140

 

 

 

 

204

 

 

 

 

 

 

0000

1101

 

 

0D

 

 

 

 

0100

1101

 

 

4D

 

 

 

 

1000

1101

 

 

8D

 

 

 

 

1100

1101

 

 

CD

13

 

 

 

 

77

 

 

 

 

141

 

 

 

 

205

 

 

 

 

 

 

0000

1110

 

 

0E

 

 

 

 

0100

1110

 

 

4E

 

 

 

 

1000

1110

 

 

8E

 

 

 

 

1100

1110

 

 

CE

14

 

 

 

 

78

 

 

 

 

142

 

 

 

 

206

 

 

 

 

 

 

0000

1111

 

 

0F

 

 

 

 

0100

1111

 

 

4F

 

 

 

 

1000

1111

 

 

8F

 

 

 

 

1100

1111

 

 

CF

15

 

 

 

 

79

 

 

 

 

143

 

 

 

 

207

 

 

 

 

16

 

0001

0000

 

10

 

 

80

 

0101

0000

 

50

 

 

144

 

1001

0000

 

90

 

 

208

 

1101

0000

 

 

D0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0001

0001

 

11

 

 

 

 

0101

0001

 

51

 

 

 

 

1001

0001

 

91

 

 

 

 

1101

0001

 

 

D1

17

 

 

 

81

 

 

 

145

 

 

 

209

 

 

 

 

 

 

0001

0010

 

12

 

 

 

 

0101

0010

 

52

 

 

 

 

1001

0010

 

92

 

 

 

 

1101

0010

 

 

D2

 

18

 

 

 

 

82

 

 

 

 

146

 

 

 

 

210

 

 

 

19

 

0001

0011

 

13

 

83

 

0101

0011

 

53

 

147

 

1001

0011

 

93

 

211

 

1101

0011

 

 

D3

20

 

0001

0100

 

14

 

84

 

0101

0100

 

54

 

148

 

1001

0100

 

94

 

212

 

1101

0100

 

 

D4

 

 

 

0001

0101

 

15

 

 

 

 

0101

0101

 

55

 

 

 

 

1001

0101

 

95

 

 

 

 

1101

0101

 

 

D5

21

 

 

 

85

 

 

 

149

 

 

 

213

 

 

 

 

22

 

0001

0110

 

16

 

 

86

 

0101

0110

 

56

 

 

150

 

1001

0110

 

96

 

 

214

 

1101

0110

 

 

D6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0001

0111

 

17

 

 

 

 

0101

0111

 

57

 

 

 

 

1001

0111

 

97

 

 

 

 

1101

0111

 

 

D7

23

 

 

 

87

 

 

 

151

 

 

 

215

 

 

 

 

24

 

0001

1000

 

18

 

 

88

 

0101

1000

 

58

 

 

152

 

1001

1000

 

98

 

 

216

 

1101

1000

 

 

D8

25

 

0001

1001

 

19

 

89

 

0101

1001

 

59

 

153

 

1001

1001

 

99

 

217

 

1101

1001

 

 

D9

26

 

0001

1010

 

 

1A

 

90

 

0101

1010

 

 

5A

 

154

 

1001

1010

 

 

9A

 

218

 

1101

1010

 

 

DA

 

 

 

0001

1011

 

 

1B

 

 

 

 

0101

1011

 

 

5B

 

 

 

 

1001

1011

 

 

9B

 

 

 

 

1101

1011

 

 

DB

27

 

 

 

 

91

 

 

 

 

155

 

 

 

 

219

 

 

 

 

 

 

0001

1100

 

 

1C

 

 

 

 

0101

1100

 

 

5C

 

 

 

 

1001

1100

 

 

9C

 

 

 

 

1101

1100

 

 

DC

28

 

 

 

 

92

 

 

 

 

156

 

 

 

 

220

 

 

 

 

 

 

0001

1101

 

 

1D

 

 

 

 

0101

1101

 

 

5D

 

 

 

 

1001

1101

 

 

9D

 

 

 

 

1101

1101

 

 

DD

29

 

 

 

 

93

 

 

 

 

157

 

 

 

 

221

 

 

 

 

 

 

0001

1110

 

 

1E

 

 

 

 

0101

1110

 

 

5E

 

 

 

 

1001

1110

 

 

9E

 

 

 

 

1101

1110

 

 

DE

 

30

 

 

 

 

 

94

 

 

 

 

 

158

 

 

 

 

 

222

 

 

 

31

 

0001

1111

 

 

1F

 

95

 

0101

1111

 

 

5F

 

159

 

1001

1111

 

 

9F

 

223

 

1101

1111

 

 

DF

32

 

0010

0000

 

20

 

96

 

0110

0000

 

60

 

160

 

1010

0000

 

 

A0

 

224

 

1110

0000

 

 

E0

 

33

 

0010

0001

 

21

 

 

97

 

0110

0001

 

61

 

 

161

 

1010

0001

 

 

A1

 

 

225

 

1110

0001

 

 

E1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0010

0010

 

22

 

 

 

 

0110

0010

 

62

 

 

 

 

1010

0010

 

 

A2

 

 

 

 

1110

0010

 

 

E2

34

 

 

 

98

 

 

 

162

 

 

 

 

226

 

 

 

 

35

 

0010

0011

 

23

 

 

99

 

0110

0011

 

63

 

 

163

 

1010

0011

 

 

A3

 

 

227

 

1110

0011

 

 

E3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

36

 

0010

0100

 

24

 

100

 

0110

0100

 

64

 

164

 

1010

0100

 

 

A4

 

228

 

1110

0100

 

 

E4

37

 

0010

0101

 

25

 

101

 

0110

0101

 

65

 

165

 

1010

0101

 

 

A5

 

229

 

1110

0101

 

 

E5

 

 

 

0010

0110

 

26

 

 

 

 

0110

0110

 

66

 

 

 

 

1010

0110

 

 

A6

 

 

 

 

1110

0110

 

 

E6

38

 

 

 

102

 

 

 

166

 

 

 

 

230

 

 

 

 

 

 

0010

0111

 

27

 

 

 

 

0110

0111

 

67

 

 

 

 

1010

0111

 

 

A7

 

 

 

 

1110

0111

 

 

E7

39

 

 

 

103

 

 

 

167

 

 

 

 

231

 

 

 

 

 

 

0010

1000

 

28

 

 

 

 

0110

1000

 

68

 

 

 

 

1010

1000

 

 

A8

 

 

 

 

1110

1000

 

 

E8

40

 

 

 

104

 

 

 

168

 

 

 

 

232

 

 

 

 

41

 

0010

1001

 

29

 

 

105

 

0110

1001

 

69

 

 

169

 

1010

1001

 

 

A9

 

 

233

 

1110

1001

 

 

E9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

42

 

0010

1010

 

 

2A

 

 

106

 

0110

1010

 

 

6A

 

 

170

 

1010

1010

 

 

AA

 

 

234

 

1110

1010

 

 

EA

43

 

0010

1011

 

 

2B

 

107

 

0110

1011

 

 

6B

 

171

 

1010

1011

 

 

AB

 

235

 

1110

1011

 

 

EB

 

44

 

0010

1100

 

 

2C

 

 

108

 

0110

1100

 

 

6C

 

 

172

 

1010

1100

 

 

AC

 

 

236

 

1110

1100

 

 

EC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0010

1101

 

 

2D

 

 

 

 

0110

1101

 

 

6D

 

 

 

 

1010

1101

 

 

AD

 

 

 

 

1110

1101

 

 

ED

45

 

 

 

 

109

 

 

 

 

173

 

 

 

 

237

 

 

 

 

 

 

0010

1110

 

 

2E

 

 

 

 

0110

1110

 

 

6E

 

 

 

 

1010

1110

 

 

AE

 

 

 

 

1110

1110

 

 

EE

46

 

 

 

 

110

 

 

 

 

174

 

 

 

 

238

 

 

 

 

47

 

0010

1111

 

 

2F

 

 

111

 

0110

1111

 

 

6F

 

 

175

 

1010

1111

 

 

AF

 

 

239

 

1110

1111

 

 

EF

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

48

 

0011

0000

 

30

 

112

 

0111

0000

 

70

 

176

 

1011

0000

 

 

B0

 

240

 

1111

0000

 

 

F0

49

 

0011

0001

 

31

 

113

 

0111

0001

 

71

 

177

 

1011

0001

 

 

B1

 

241

 

1111

0001

 

 

F1

 

 

 

0011

0010

 

32

 

 

 

 

0111

0010

 

72

 

 

 

 

1011

0010

 

 

B2

 

 

 

 

1111

0010

 

 

F2

50

 

 

 

114

 

 

 

178

 

 

 

 

242

 

 

 

 

 

 

0011

0011

 

33

 

 

 

 

0111

0011

 

73

 

 

 

 

1011

0011

 

 

B3

 

 

 

 

1111

0011

 

 

F3

51

 

 

 

115

 

 

 

179

 

 

 

 

243

 

 

 

 

 

 

0011

0100

 

34

 

 

 

 

0111

0100

 

74

 

 

 

 

1011

0100

 

 

B4

 

 

 

 

1111

0100

 

 

F4

 

52

 

 

 

 

116

 

 

 

 

180

 

 

 

 

 

244

 

 

 

 

53

 

0011

0101

 

35

 

 

117

 

0111

0101

 

75

 

 

181

 

1011

0101

 

 

B5

 

 

245

 

1111

0101

 

 

F5

 

 

 

0011

0110

 

36

 

 

 

 

0111

0110

 

76

 

 

 

 

1011

0110

 

 

B6

 

 

 

 

1111

0110

 

 

F6

54

 

 

 

118

 

 

 

182

 

 

 

 

246

 

 

 

 

55

 

0011

0111

 

37

 

 

119

 

0111

0111

 

77

 

 

183

 

1011

0111

 

 

B7

 

 

247

 

1111

0111

 

 

F7

 

 

 

0011

1000

 

38

 

 

 

 

0111

1000

 

78

 

 

 

 

1011

1000

 

 

B8

 

 

 

 

1111

1000

 

 

F8

56

 

 

 

120

 

 

 

184

 

 

 

 

248

 

 

 

 

 

 

0011

1001

 

39

 

 

 

 

0111

1001

 

79

 

 

 

 

1011

1001

 

 

B9

 

 

 

 

1111

1001

 

 

F9

57

 

 

 

121

 

 

 

185

 

 

 

 

249

 

 

 

 

 

 

0011

1010

 

 

3A

 

 

 

 

0111

1010

 

 

7A

 

 

 

 

1011

1010

 

 

BA

 

 

 

 

1111

1010

 

 

FA

 

58

 

 

 

 

 

122

 

 

 

 

 

186

 

 

 

 

 

250

 

 

 

59

 

0011

1011

 

 

3B

 

123

 

0111

1011

 

 

7B

 

187

 

1011

1011

 

 

BB

 

251

 

1111

1011

 

 

FB

60

 

0011

1100

 

 

3C

 

124

 

0111

1100

 

 

7C

 

188

 

1011

1100

 

 

BC

 

252

 

1111

1100

 

 

FC

 

 

 

0011

1101

 

 

3D

 

 

 

 

0111

1101

 

 

7D

 

 

 

 

1011

1101

 

 

BD

 

 

 

 

1111

1101

 

 

FD

61

 

 

 

 

125

 

 

 

 

189

 

 

 

 

253

 

 

 

 

 

 

0011

1110

 

 

3E

 

 

 

 

0111

1110

 

 

7E

 

 

 

 

1011

1110

 

 

BE

 

 

 

 

1111

1110

 

 

FE

62

 

 

 

 

126

 

 

 

 

190

 

 

 

 

254

 

 

 

 

 

 

0011

1111

 

 

3F

 

 

 

 

0111

1111

 

 

7F

 

 

 

 

1011

1111

 

 

BF

 

 

 

 

1111

1111

 

 

FF

63

 

 

 

 

127

 

 

 

 

191

 

 

 

 

255

 

 

 

34

Приложение №10

КОМАНДЫ АССЕМБЛЕРА ДЛЯ ПИКов (вариант с ошибками №1)

 

МНЕМОНИКА

ОПИСАНИЕ

 

 

 

ПРИМЕРЫ

Цикл.

Флаги

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Байт-ориентированные команды

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сложить содержимое регистров

 

 

 

ADDWF

ABC,0

 

 

 

 

W и f.

До выполнения

 

 

 

 

 

 

 

 

W=0x17

 

 

 

 

 

 

 

Если d=0, результат сохраняется в

ABC=0xC2

 

 

 

 

 

 

 

регистре W.

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

 

 

 

 

Если d=1, результат сохраняется в

W=0xD9

 

 

 

 

 

 

 

регистре f.

ABC=0xC2

 

 

 

 

 

 

 

Косвенная адресация: для ее выполнения

Косвенная адресация

 

 

 

 

необходимо обратиться к регистру INDF.

 

ADDWF

INDF,1

 

 

 

 

ADDWF f, d

Оно вызовет действие с регистром,

До выполнения

 

 

 

 

 

 

адрес которого указан в FSR.

W=0x17

 

 

 

 

 

 

 

Косвенная запись в регистр INDF не

FSR=0xC2 (значение

 

 

 

Сложение

вызовет никаких действий (кроме

регистра с адресом

1

C,DC,Z

 

W и f

воздействия на флаги в регистре STATUS)

в FSR=0x20)

 

 

 

 

 

Косвенное чтение INDF (FSR=0) даст

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

 

 

 

 

результат 00h.

W=0x17

 

 

 

 

 

 

 

9-й бит косвенного адреса (IRP) сохра-

FSR=0xC2 (значение

 

 

 

 

няется в регистре STATUS<7>.

регистра с адресом

 

 

 

 

Изменение адреса счетчика команд PC

в FSR=0x37)

 

 

 

 

 

 

 

(вычисляемый переход) выполняется

Изменение адреса PC

 

 

 

 

командой приращения к регистру PCL.

 

 

ADDWF

PCL,0

 

 

 

 

 

При этом необходимо следить, чтобы

До выполнения

 

 

 

 

 

 

 

значение PCL не пересекало границу

W=0x10

 

 

 

 

 

 

 

блока памяти данных (256 байт, иначе

PCL=0x37

 

 

 

 

 

 

 

работа по кольцу).

C=x

 

 

 

 

 

 

 

PCL – младший байт (8 бит <7:0>) счетчика

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

 

 

 

 

команд (PC), доступен для чтения записи.

PCL=0x47

 

 

 

 

 

 

 

PCH – старший байт (5 бит <12:8>)

C=0

 

 

 

 

 

 

 

счетчика команд PC, не доступен для

 

 

 

ADDWF

PCL,0

 

 

 

 

 

чтения и записи). Все операции с PCH

До выполнения

 

 

 

 

 

 

 

происходят через дополнительный

W=0x10

 

 

 

 

 

 

 

регистр PCLATH.

PCL=0xF7

 

 

 

 

 

 

 

 

PCH=0x08

 

 

 

 

 

 

 

 

C=x

 

 

 

 

 

 

 

 

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

 

 

 

 

 

PCL=0x07

 

 

 

 

 

 

 

 

PCH=0x08

 

 

 

 

 

 

 

 

C=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ANDWF

ABC,1

 

 

 

 

 

До выполнения

 

 

 

 

 

 

 

 

W=0x17 (00010111)

 

 

 

 

 

ABC=0xC2(11000010)

 

 

 

ANDWF f, d

Выполняется побитное “И” содержимого

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

 

 

 

регистров W и f.

W=0x17

 

 

 

 

 

 

 

 

ABC=0x02 (00000010)

 

 

 

Побитное И

Если d=0, результат сохраняется в

 

 

 

ANDWF

ABC,0

1

Z

 

W и f

регистре W.

До выполнения

 

 

 

 

 

 

 

Если d=1, результат сохраняется в

W=0x17 (00010111)

 

 

 

 

регистре f.

ABC=0xC2(11000010)

 

 

 

 

 

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

 

 

 

 

 

W=0x02 (00000010)

 

 

 

 

 

ABC=0xC2

 

 

 

 

 

 

 

 

Косвенная адресация

 

 

 

 

 

 

 

 

ANDWF

INDF,1

 

 

 

 

 

До выполнения

 

 

 

 

 

 

 

 

W=0x17

 

 

 

 

 

 

 

 

FSR=0xC2 (значение

 

 

 

 

 

регистра с адресом в

 

 

 

 

 

FSR=0x5A)

 

 

 

 

 

 

 

 

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

 

 

35

 

 

 

W=0x17

 

 

 

 

 

 

FSR=0xC2 (значение

 

 

 

 

 

регистра с адресом в

 

 

 

 

 

FSR=0x15)

 

 

 

 

 

 

 

 

 

 

 

 

CLRF FLAG_REG

 

 

 

 

 

До выполнения

 

 

 

 

 

 

FLAG_REG=0x5A

 

 

 

 

 

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

 

 

CLRF

Очистить содержимое регистра f

FLAG_REG=0x00

 

 

Z=1

 

 

Z

 

 

и установить флаг Z

Косвенная адресация

1

Очистить f

 

CLRF INDF

 

 

 

 

 

До выполнения

 

 

 

 

 

 

FSR=0xC2 (значение

 

 

 

 

 

регистра с адресом в

 

 

 

 

 

FSR=0xAA)

 

 

 

 

 

 

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

 

 

 

 

 

FSR=0xC2 (значение регистра

 

 

 

 

 

с адресом в FSR=0x00)

 

 

 

 

 

Z=1

 

 

 

 

 

 

CLRW

 

 

CLRW

 

До выполнения

 

 

 

Очистить содержимое регистра W

W=0x5A

 

1

Z

 

 

 

Очистить W

и установить флаг Z

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

 

 

 

W=0x00

 

 

 

 

 

 

 

 

 

 

 

 

Z=1

 

 

 

 

 

 

 

 

 

 

 

 

 

COMF

REG1,0

 

 

 

 

 

До выполнения

 

 

 

 

 

 

REG1=0x13

 

 

 

COMF

f, d

 

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

 

 

Инвертировать все биты в регистре f

REG1=0x13

 

 

 

 

 

 

W=0xEC

 

 

 

Инвертиро-

Если d=0, результат сохраняется в

COMF

REG1,1

 

 

вать

f

регистре W.

До выполнения

 

 

 

 

 

Если d=1, результат сохраняется в

REG1=0xFF

 

 

 

 

 

регистре f

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

1

Z

 

 

 

REG1=0x00

 

 

 

 

 

 

Z=1

 

 

 

 

 

 

Косвенная адресация

 

 

 

 

 

COMF

INDF,1

 

 

 

 

 

До выполнения

 

 

 

 

 

 

FSR=0xC2 (значение

 

 

 

 

 

регистра с адресом в

 

 

 

 

 

FSR=0xAA)

 

 

 

 

 

 

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

 

 

 

 

 

FSR=0xC2 (значение

 

 

 

 

 

регистра с адресом в

 

 

 

 

 

FSR=0x55)

 

 

 

 

 

 

 

 

 

 

 

 

 

DECF

CNT,1

 

 

 

 

 

До выполнения

 

 

 

 

 

 

CNT=0x01

 

 

 

 

 

 

Z=0

 

 

 

 

 

 

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

 

 

 

 

 

CNT=0x00

 

 

 

DECF

f, d

Декрементировать содержимое

Z=1

 

 

 

регистра f

DECF

CNT,0

 

 

 

 

 

До выполнения

 

 

 

Вычесть

Если d=0, результат сохраняется в

CNT=0x10

 

 

 

1 из f

регистре W.

W=x

 

1

Z

 

 

Если d=1, результат сохраняется в

Z=0

 

 

 

 

 

регистре f.

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

 

 

 

 

 

CNT=0x10

 

 

 

 

 

 

W=0x0F

 

 

 

 

 

 

Z=0

 

 

 

 

 

 

 

 

 

 

36

 

 

Косвенная адресация

 

 

 

 

 

 

DECF

INDF,1

 

 

 

 

 

 

До выполнения

 

 

 

 

 

 

 

 

FSR=0xC2 (значение

 

 

 

 

 

 

регистра с адресом в

 

 

 

 

 

 

FSR=0x01)

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

FSR=0xC2 (значение

 

 

 

 

 

 

регистра с адресом в

 

 

 

 

 

 

FSR=0x00)

 

 

 

 

 

 

 

 

Z=1

 

 

 

 

 

 

 

 

 

HERE DECFSZ

CNT,1

 

 

 

 

 

Декрементировать содержимое

GOTO

 

LOOP

 

 

 

 

DECFSZ f, d

регистра f с пропуском если 0

CONTINUE

.

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

Если d=0, результат сохраняется в

1) До выполнения

 

 

 

 

Вычесть

регистре W.

CNT=0x01

 

 

 

 

 

 

1 из f и

Если d=1, результат сохраняется в

PC=адрес HERE

 

1(2)

 

 

 

пропустить

регистре f.

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

 

 

 

 

если 0

 

CNT=0x00

 

 

 

 

 

 

 

Если результат не равен 0, исполняется

PC=адрес CONTINUE

 

 

 

 

 

следующая инструкция.

2) До выполнения

 

 

 

 

 

 

Если результат = 0, то следующая

CNT=0x02

 

 

 

 

 

 

 

инструкция не исполняется, а команда

PC=адрес HERE

 

 

 

 

 

 

выполняется за 2 цикла (во втором цикле

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

 

 

 

 

 

выполняется NOP).

CNT=0x01

 

 

 

 

 

 

 

 

PC=адрес HERE+1

 

 

 

 

 

 

1)

INCF

CNT,1

 

 

 

 

 

 

До выполнения

 

 

 

 

 

 

 

 

CNT=0xFF

 

 

 

 

 

 

 

 

Z=0

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

CNT=0x00

 

 

 

 

 

 

 

 

Z=1

 

 

 

 

 

 

 

 

 

2)

INCF

CNT,0

 

 

 

 

 

 

До выполнения

 

 

 

 

 

 

 

 

CNT=0x10

 

 

 

 

 

 

INCF f, d

Инкрементировать содержимое

W=x

 

 

 

 

 

 

 

регистра f

Z=0

 

 

 

 

 

 

 

 

 

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

 

 

 

 

Прибавить

Если d=0, результат сохраняется в

CNT=0x10

 

 

1

 

Z

1 к f

регистре W.

W=0x11

 

 

 

 

 

 

 

 

Если d=1, результат сохраняется в

Z=0

 

 

 

 

 

 

 

 

регистре f.

Косвенная адресация

 

 

 

 

 

 

INCF

INDF,1

 

 

 

 

 

 

До выполнения

 

 

 

 

 

 

 

 

FSR=0xC2 (значение

 

 

 

 

 

 

регистра с адресом в

 

 

 

 

 

 

FSR=0xFF)

 

 

 

 

 

 

 

 

Z=0

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

FSR=0xC2 (значение

 

 

 

 

 

 

регистра с адресом в

 

 

 

 

 

 

FSR=0x00)

 

 

 

 

 

 

 

 

Z=1

 

 

 

 

 

 

 

 

 

HERE

INCFSZ CNT,1

 

 

 

 

 

 

 

GOTO

LOOP

 

 

 

 

 

Инкрементировать содержимое

CONTINUE .

.

 

 

 

 

 

INCFSZ f, d

регистра f

 

 

 

 

 

 

 

 

1) До выполнения

 

 

 

 

 

Если d=0, результат сохраняется в

PC=адрес HERE

 

 

 

 

 

 

регистре W.

CNT=0xFF

 

 

 

 

 

 

Прибавить

Если d=1, результат сохраняется в

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

1(2)

 

 

 

1 к f и

регистре f.

CNT=0x00

 

 

 

 

 

пропустить

 

PC=адрес CONTINUE

 

 

 

 

если 0

Если результат не равен 0, исполняется

2) До выполнения

 

 

 

 

 

следующая инструкция.

PC=адрес HERE

 

 

 

 

 

 

Если результат = 0, то следующая

CNT=0x00

 

 

 

 

 

 

 

инструкция не исполняется, команда

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

 

 

 

 

 

выполняется за 2 цикла (во втором цикле –

CNT=0x01

 

 

 

 

 

 

 

NOP).

PC=адрес HERE+1

 

 

 

 

37

 

 

 

1) IORWF RES,0

 

 

 

 

 

До выполнения

 

 

 

 

 

 

 

RES=0x13

 

 

 

 

 

 

 

W=0x91

 

 

 

 

 

 

 

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

 

 

 

 

 

RES=0x13

 

 

 

 

 

 

 

W=0x93

 

 

 

 

 

 

 

Z=0

 

 

 

 

 

 

 

 

2) IORWF RES,1

 

 

 

 

 

До выполнения

 

 

 

 

IORWF

f,d

Побитное “ИЛИ” содержимого

RES=0x13

 

 

 

 

регистров W и f

W=0x91

 

 

 

 

 

 

 

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

 

 

Побитное

Если d=0 – результат сохраняется в

RES=0x93

 

1

Z

“ИЛИ”

 

регистре W

W=0x91

 

 

 

 

W и f

Если d=1 – результат сохраняется в

Z=1

 

 

 

 

 

 

регистре f.

3) IORWF

RES,1

 

 

 

 

 

До выполнения

 

 

 

 

 

 

 

RES=0x00

 

 

 

 

 

 

 

W=0x00

 

 

 

 

 

 

 

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

 

 

 

 

 

RES=0x00

 

 

 

 

 

 

 

W=0x00

 

 

 

 

 

 

 

Z=1

 

 

 

 

 

 

 

Косвенная адресация

 

 

 

 

 

 

IORWF

INDF,1

 

 

 

 

 

 

До выполнения

 

 

 

 

 

 

W=0x17

 

 

 

 

 

FSR=0xC2 (значение

 

 

 

 

 

регистра с адресом в

 

 

 

 

 

 

FSR=0x30)

 

 

 

 

 

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

 

 

 

 

 

W=0x17

 

 

 

 

 

 

 

FSR=0xC2 (значение

 

 

 

 

 

регистра с адресом в

 

 

 

 

 

FSR=0x37)

 

 

 

 

 

 

 

Z=0

 

 

 

 

 

 

 

 

MOVF

FSR,0

 

 

 

 

 

До выполнения

 

 

 

 

 

 

 

W=0x00

 

 

 

 

 

 

 

FSR=0xC2

 

 

 

 

 

 

 

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

 

 

 

 

 

W=0xC2

 

 

 

 

 

 

 

FSR=0xC2

 

 

 

 

 

 

Содержимое регистра f пересылается

Z=0

 

 

 

 

 

 

 

MOVF

FSR,1

 

 

 

 

в регистр адресата

1) До выполнения

 

 

MOVF

f,d

Если d=0 – значение сохраняется в

FSR=0x43

 

 

 

 

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

 

 

 

 

 

Z

Переслать

регистре W.

FSR=0x43

 

1

Если d=1 – значение сохраняется в

Z=0

 

 

 

 

f

 

 

 

 

 

 

регистре f.

2) До выполнения

 

 

 

 

 

 

 

 

d=1 используется для проверки

FSR=0x00

 

 

 

 

 

 

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

 

 

 

 

содержимого f на ноль.

FSR=0x00

 

 

 

 

 

 

 

Z=1

 

 

 

 

 

 

 

Косвенная адресация

 

 

 

 

 

 

MOVF

INDF,1

 

 

 

 

 

 

До выполнения

 

 

 

 

 

 

 

W=0x17

 

 

 

 

 

 

 

FSR=0xC2 (значение

 

 

 

 

 

регистра с адресом в

 

 

 

 

 

FSR=0x00)

 

 

 

 

 

 

 

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

 

 

 

 

 

W=0x17

 

 

 

 

 

 

 

FSR=0xC2 (значение

 

 

 

 

 

регистра с адресом в

 

 

 

 

 

FSR=0x00)

 

 

 

 

 

 

 

Z=1

 

 

 

 

 

 

 

 

 

 

 

 

38

 

 

MOVWF OPTION

 

 

 

До выполнения

 

 

 

 

 

 

OPTION=0xFF

 

 

 

 

 

 

W=0x4F

 

 

 

 

 

 

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

 

MOVWF f

 

OPTION=0x4F

 

 

 

 

 

W=0x4F

 

 

 

 

 

Переслать содержимое W в f

 

 

 

1

 

Переслать

 

Косвенная адресация

 

W в f

 

 

 

MOVWF

 

INDF

 

 

 

 

 

 

 

До выполнения

 

 

 

 

 

 

W=0x17

 

 

 

 

 

 

FSR=0xC2 (значение

 

 

 

регистра с адресом в

 

 

 

FSR=0x00)

 

 

 

 

 

 

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

 

 

 

W=0x17

 

 

 

 

 

 

FSR=0xC2 (значение

 

 

 

регистра с адресом в

 

 

 

FSR=0x17)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

HERE

 

NOP

 

NOP

 

До выполнения

 

 

 

 

Нет операции

PC=адрес HERE

1

 

 

 

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

 

 

 

PC=адрес HERE+1

 

 

 

 

 

 

 

 

 

 

 

RLF

REG,0

 

 

 

 

До выполнения

 

 

 

 

 

 

REG=11100110

 

 

 

 

 

 

C=0

 

 

 

 

 

 

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

 

 

 

REG=11100110

 

 

 

 

 

 

W=11001100

 

 

 

 

 

 

C=1

 

 

 

 

RLF

f, d

Выполняется циклический сдвиг

 

 

 

 

влево содержимого регистра f через

Косвенная адресация

 

 

 

 

бит C регистра STATUS

 

 

 

 

RLF

INDF,1

 

 

Циклический

 

 

 

 

До выполнения

 

 

 

сдвиг f

Если d=0 – результат сохраняется в

 

 

 

W=xxxxxxxx

 

 

 

влево через

регистре W.

 

1

C

FSR=0xC2 (значение

перенос

Если d=1 – результат сохраняется в

 

 

регистра с адресом в

 

 

 

 

регистре f.

 

 

 

 

FSR=0x3A-00111010)

 

 

 

 

 

 

 

 

 

 

C=1

 

 

 

 

 

C

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

 

 

 

 

W=0x17

 

 

 

 

 

 

 

 

 

 

 

 

FSR=0xC2 (значение

 

 

 

 

 

регистра с адресом в

 

 

 

 

 

FSR=0x75-01110101)

 

 

 

 

 

C=0

 

 

 

RLF INDF,1

До выполнения

W=xxxxxxxx FSR=0xC2 (значение регистра с адресом в

FSR=0xB9-10111001) C=0

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

W=0x17

FSR=0xC2 (значение регистра с адресом в

FSR=0x72-01110010) C=1

39

 

 

 

 

 

 

 

 

 

 

 

 

 

RRF

REG,0

 

 

 

 

 

 

 

 

 

 

 

 

До выполнения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

REG=11100110

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W=xxxxxxxx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C=0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

REG=11100110

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W=01110011

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C=0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Косвенная адресация

 

 

RRF

f, d

 

 

Выполняется циклический сдвиг

 

 

 

RRF

INDF,1

 

 

 

 

вправо содержимого регистра f через

До выполнения

 

 

 

 

 

 

 

 

 

 

 

бит C регистра STATUS

W=xxxxxxxx

 

 

 

 

 

 

 

Циклический

 

 

 

 

 

 

 

FSR=0xC2 (значение

 

 

сдвиг f

 

Если d=0 – результат сохраняется в

регистра с адресом в

1

C

вправо через

 

 

 

регистре W.

FSR=0x3A-00111010

 

 

перенос

 

Если d=1 – результат сохраняется в

C=1

 

 

 

 

 

 

 

 

 

 

 

 

регистре f.

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

 

 

 

 

 

 

 

 

 

 

 

W=0x17

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FSR=0xC2 (значение

 

 

 

 

 

 

 

 

 

 

 

регистра с адресом в

 

 

 

 

 

 

 

 

 

 

 

FSR=0x9D-10011101

 

 

 

 

 

 

 

 

 

 

 

C=0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RRF

INDF,1

 

 

 

 

 

 

 

 

 

 

 

 

До выполнения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W=xxxxxxxx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FSR=0xC2 (значение

 

 

 

 

 

 

 

 

 

 

 

регистра с адресом в

 

 

 

 

 

 

 

 

 

 

 

FSR=0x39-00111001

 

 

 

 

 

 

 

 

 

 

 

С=0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

W=0x17

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FSR=0xC2 (значение регистра

 

 

 

 

 

 

 

 

 

 

 

с адресом в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FSR=0x1C-00011100

 

 

 

 

 

 

 

 

 

 

 

C=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SUBWF

REG,1

 

 

 

 

 

 

 

 

 

 

 

До выполнения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

REG=0x03

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W=0x02

 

 

 

 

 

 

 

 

 

 

 

Вычесть содержимое регистра W

C=x

 

 

 

 

 

 

 

SUBWF

f, d

 

 

Z=x

 

 

 

 

 

 

 

 

 

 

из регистра f.

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

 

 

 

 

 

 

 

 

 

 

 

REG=0x01

 

 

 

 

 

 

C,DC,Z

Вычесть

 

Если d=0 – результат сохраняется в

W=0x02

 

 

 

 

 

1

W из f

 

 

 

регистре W.

C=1 ( + результат )

 

 

 

 

 

Если d=1 – результат сохраняется в

Z=0

 

 

 

 

 

 

 

 

 

 

 

 

регистре f.

 

 

SUBWF

REG,1

 

 

 

 

 

 

 

 

 

 

 

 

До выполнения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

REG=0x02

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W=0x02

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C=x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z=x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

REG=0x00

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W=0x02

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C=1 ( 0 – результат)

 

 

 

 

 

 

 

 

 

 

 

Z=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SUBWF

REG,1

 

 

 

 

 

 

 

 

 

 

 

 

До выполнения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

REG=0x01

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W=0x02

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C=x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z=x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

REG=0xFF

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W=0x02

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C=0 ( - результат)

 

 

 

 

 

 

 

 

 

 

 

Z=0

 

 

 

 

 

 

 

40

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