-
Notifications
You must be signed in to change notification settings - Fork 1
/
FP01_LOOP4.lst
235 lines (235 loc) · 12.2 KB
/
FP01_LOOP4.lst
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
000 WR001 0x4048 LRI Reg0 0X48 I2C SLAVE ADDRESS IN R0
001 0x4100 LRI Reg1 0X00 MCP IODIRA REGISTER IN R1
002 0x42FF LRI Reg2 0XFF MCP23017_ALL_INS
003 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
004 WR002 0x4048 LRI Reg0 0X48 I2C SLAVE ADDRESS IN R0
005 0x4101 LRI Reg1 0X01 MCP IODIRB REGISTER IN R1
006 0x4200 LRI Reg2 0X00 MCP23017_ALL_OUTS
007 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
008 WR003 0x4048 LRI Reg0 0X48 I2C SLAVE ADDRESS IN R0
009 0x4102 LRI Reg1 0X02 MCP IPOLA REGISTER IN R1
00a 0x42FF LRI Reg2 0XFF MCP23017_INVERT_INPUTS
00b 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
00c WR004 0x4048 LRI Reg0 0X48 I2C SLAVE ADDRESS IN R0
00d 0x4104 LRI Reg1 0X04 MCP GPINTENA REGISTER IN R1
00e 0x42FF LRI Reg2 0XFF MCP23017_ENABLE_INTS_ON_CHANGE
00f 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
010 WR005 0x4048 LRI Reg0 0X48 I2C SLAVE ADDRESS IN R0
011 0x4105 LRI Reg1 0X05 MCP GPINTENB REGISTER IN R1
012 0x4200 LRI Reg2 0X00 MCP23017_DISABLE_INTS_ON_CHANGE
013 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
014 WR006 0x4048 LRI Reg0 0X48 I2C SLAVE ADDRESS IN R0
015 0x4106 LRI Reg1 0X06 MCP DEFVALA REGISTER IN R1
016 0x4200 LRI Reg2 0X00 MCP23017_DEFVAL=0
017 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
018 WR007 0x4048 LRI Reg0 0X48 I2C SLAVE ADDRESS IN R0
019 0x4108 LRI Reg1 0x08 MCP INTCONA REGISTER IN R1
01a 0x4200 LRI Reg2 0X00 MCP23017_COMPARE_TO_PREV_VAL
01b 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
01c WR008 0x4048 LRI Reg0 0X48 I2C SLAVE ADDRESS IN R0
01d 0x410A LRI Reg1 0x0A MCP IOCON REGISTER IN R1
01e 0x4264 LRI Reg2 0x64 MCP23017_MIRRORINT_NOTSEQ_ODRINT
01f 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
020 WR009 0x4048 LRI Reg0 0X48 I2C SLAVE ADDRESS IN R0
021 0x410C LRI Reg1 0X0C MCP GPPUA REGISTER IN R1
022 0x42FF LRI Reg2 0XFF MCP23017_PULLUPS_ON
023 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
024 WR010 0x4048 LRI Reg0 0X48 I2C SLAVE ADDRESS IN R0
025 0x4115 LRI Reg1 0X15 MCP OLATA REGISTER IN R1
026 0x4255 LRI Reg2 0X55 DEFAULT OUTPUT DATA SHOULD FLASH
027 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
028 WR021 0x404A LRI Reg0 0X4A I2C SLAVE ADDRESS IN R0
029 0x4100 LRI Reg1 0X00 MCP IODIRA REGISTER IN R1
02a 0x42FF LRI Reg2 0XFF MCP23017_ALL_INS
02b 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
02c WR022 0x404A LRI Reg0 0X4A I2C SLAVE ADDRESS IN R0
02d 0x4101 LRI Reg1 0X01 MCP IODIRB REGISTER IN R1
02e 0x4200 LRI Reg2 0X00 MCP23017_ALL_OUTS
02f 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
030 WR023 0x404A LRI Reg0 0X4A I2C SLAVE ADDRESS IN R0
031 0x4102 LRI Reg1 0X02 MCP IPOLA REGISTER IN R1
032 0x42FF LRI Reg2 0XFF MCP23017_INVERT_INPUTS
033 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
034 WR024 0x404A LRI Reg0 0X4A I2C SLAVE ADDRESS IN R0
035 0x4104 LRI Reg1 0X04 MCP GPINTENA REGISTER IN R1
036 0x42FF LRI Reg2 0XFF MCP23017_ENABLE_INTS_ON_CHANGE
037 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
038 WR025 0x404A LRI Reg0 0X4A I2C SLAVE ADDRESS IN R0
039 0x4105 LRI Reg1 0X05 MCP GPINTENB REGISTER IN R1
03a 0x4200 LRI Reg2 0X00 MCP23017_DISABLE_INTS_ON_CHANGE
03b 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
03c WR026 0x404A LRI Reg0 0X4A I2C SLAVE ADDRESS IN R0
03d 0x4106 LRI Reg1 0X06 MCP DEFVALA REGISTER IN R1
03e 0x4200 LRI Reg2 0X00 MCP23017_DEFVAL=0
03f 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
040 WR027 0x404A LRI Reg0 0X4A I2C SLAVE ADDRESS IN R0
041 0x4108 LRI Reg1 0x08 MCP INTCONA REGISTER IN R1
042 0x4200 LRI Reg2 0X00 MCP23017_COMPARE_TO_PREV_VAL
043 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
044 WR028 0x404A LRI Reg0 0X4A I2C SLAVE ADDRESS IN R0
045 0x410A LRI Reg1 0x0A MCP IOCON REGISTER IN R1
046 0x4264 LRI Reg2 0x64 MCP23017_MIRRORINT_NOTSEQ_ODRINT
047 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
048 WR029 0x404A LRI Reg0 0X4A I2C SLAVE ADDRESS IN R0
049 0x410C LRI Reg1 0X0C MCP GPPUA REGISTER IN R1
04a 0x42FF LRI Reg2 0XFF MCP23017_PULLUPS_ON
04b 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
04c WR030 0x404A LRI Reg0 0X4A I2C SLAVE ADDRESS IN R0
04d 0x4115 LRI Reg1 0X15 MCP OLATA REGISTER IN R1
04e 0x42AA LRI Reg2 0XAA DEFAULT OUTPUT DATA SHOULD FLASH
04f 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
050 WR041 0x404C LRI Reg0 0X4C I2C SLAVE ADDRESS IN R0
051 0x4100 LRI Reg1 0X00 MCP IODIRA REGISTER IN R1
052 0x42FF LRI Reg2 0XFF MCP23017_ALL_INS
053 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
054 WR042 0x404C LRI Reg0 0X4C I2C SLAVE ADDRESS IN R0
055 0x4101 LRI Reg1 0X01 MCP IODIRB REGISTER IN R1
056 0x4200 LRI Reg2 0X00 MCP23017_ALL_OUTS
057 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
058 WR043 0x404C LRI Reg0 0X4C I2C SLAVE ADDRESS IN R0
059 0x4102 LRI Reg1 0X02 MCP IPOLA REGISTER IN R1
05a 0x42FF LRI Reg2 0XFF MCP23017_INVERT_INPUTS
05b 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
05c WR044 0x404C LRI Reg0 0X4C I2C SLAVE ADDRESS IN R0
05d 0x4104 LRI Reg1 0X04 MCP GPINTENA REGISTER IN R1
05e 0x42FF LRI Reg2 0XFF MCP23017_ENABLE_INTS_ON_CHANGE
05f 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
060 WR045 0x404C LRI Reg0 0X4C I2C SLAVE ADDRESS IN R0
061 0x4105 LRI Reg1 0X05 MCP GPINTENB REGISTER IN R1
062 0x4200 LRI Reg2 0X00 MCP23017_DISABLE_INTS_ON_CHANGE
063 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
064 WR046 0x404C LRI Reg0 0X4C I2C SLAVE ADDRESS IN R0
065 0x4106 LRI Reg1 0X06 MCP DEFVALA REGISTER IN R1
066 0x4200 LRI Reg2 0X00 MCP23017_DEFVAL=0
067 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
068 WR047 0x404C LRI Reg0 0X4C I2C SLAVE ADDRESS IN R0
069 0x4108 LRI Reg1 0x08 MCP INTCONA REGISTER IN R1
06a 0x4200 LRI Reg2 0X00 MCP23017_COMPARE_TO_PREV_VAL
06b 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
06c WR048 0x404C LRI Reg0 0X4C I2C SLAVE ADDRESS IN R0
06d 0x410A LRI Reg1 0x0A MCP IOCON REGISTER IN R1
06e 0x4264 LRI Reg2 0x64 MCP23017_MIRRORINT_NOTSEQ_ODRINT
06f 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
070 WR049 0x404C LRI Reg0 0X4C I2C SLAVE ADDRESS IN R0
071 0x410C LRI Reg1 0X0C MCP GPPUA REGISTER IN R1
072 0x42FF LRI Reg2 0XFF MCP23017_PULLUPS_ON
073 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
074 WR050 0x404C LRI Reg0 0X4C I2C SLAVE ADDRESS IN R0
075 0x4115 LRI Reg1 0X15 MCP OLATA REGISTER IN R1
076 0x42DE LRI Reg2 0XDE DEFAULT OUTPUT DATA SHOULD FLASH
077 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
078 WR061 0x404E LRI Reg0 0X4E I2C SLAVE ADDRESS IN R0
079 0x4100 LRI Reg1 0X00 MCP IODIRA REGISTER IN R1
07a 0x42FF LRI Reg2 0XFF MCP23017_ALL_INS
07b 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
07c WR062 0x404E LRI Reg0 0X4E I2C SLAVE ADDRESS IN R0
07d 0x4101 LRI Reg1 0X01 MCP IODIRB REGISTER IN R1
07e 0x4200 LRI Reg2 0X00 MCP23017_ALL_OUTS
07f 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
080 WR063 0x404E LRI Reg0 0X4E I2C SLAVE ADDRESS IN R0
081 0x4102 LRI Reg1 0X02 MCP IPOLA REGISTER IN R1
082 0x42FF LRI Reg2 0XFF MCP23017_INVERT_INPUTS
083 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
084 WR064 0x404E LRI Reg0 0X4E I2C SLAVE ADDRESS IN R0
085 0x4104 LRI Reg1 0X04 MCP GPINTENA REGISTER IN R1
086 0x42FF LRI Reg2 0XFF MCP23017_ENABLE_INTS_ON_CHANGE
087 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
088 WR065 0x404E LRI Reg0 0X4E I2C SLAVE ADDRESS IN R0
089 0x4105 LRI Reg1 0X05 MCP GPINTENB REGISTER IN R1
08a 0x4200 LRI Reg2 0X00 MCP23017_DISABLE_INTS_ON_CHANGE
08b 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
08c WR066 0x404E LRI Reg0 0X4E I2C SLAVE ADDRESS IN R0
08d 0x4106 LRI Reg1 0X06 MCP DEFVALA REGISTER IN R1
08e 0x4200 LRI Reg2 0X00 MCP23017_DEFVAL=0
08f 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
090 WR067 0x404E LRI Reg0 0X4E I2C SLAVE ADDRESS IN R0
091 0x4108 LRI Reg1 0x08 MCP INTCONA REGISTER IN R1
092 0x4200 LRI Reg2 0X00 MCP23017_COMPARE_TO_PREV_VAL
093 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
094 WR068 0x404E LRI Reg0 0X4E I2C SLAVE ADDRESS IN R0
095 0x410A LRI Reg1 0x0A MCP IOCON REGISTER IN R1
096 0x4264 LRI Reg2 0x64 MCP23017_MIRRORINT_NOTSEQ_ODRINT
097 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
098 WR069 0x404E LRI Reg0 0X4E I2C SLAVE ADDRESS IN R0
099 0x410C LRI Reg1 0X0C MCP GPPUA REGISTER IN R1
09a 0x42FF LRI Reg2 0XFF MCP23017_PULLUPS_ON
09b 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
09c 0x404E LRI Reg0 0X4E I2C SLAVE ADDRESS IN R0
09d WR070 0x4115 LRI Reg1 0X15 MCP OLATA REGISTER IN R1
09e 0x42AD LRI Reg2 0XAD DEFAULT OUTPUT DATA SHOULD FLASH
09f 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
0a0 RD101 0x4048 LRI Reg0 0X48 I2C SLAVE ADDRESS IN R0
0a1 0x4112 LRI Reg1 0X12 MCP GPIOA REGISTER IN R1
0a2 0xC0D0 JSR RD_I2C CALL MCP23017 I2C READ – RETURN IN REG R2
0a3 0x7200 IOW Reg2 IO_00 WRITE OUT TO HIGHER LEVEL
0a4 WR101 0x4048 LRI Reg0 0X48 I2C SLAVE ADDRESS IN R0
0a5 0x4115 LRI Reg1 0X15 MCP OLATA REGISTER IN R1
0a6 0x6200 IOR Reg2 IO_00 READ FROM HIGHER LEVEL
0a7 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
0a8 RD102 0x404A LRI Reg0 0X4A I2C SLAVE ADDRESS IN R0
0a9 0x4112 LRI Reg1 0X12 MCP GPIOA REGISTER IN R1
0aa 0xC0D0 JSR RD_I2C CALL MCP23017 I2C READ – RETURN IN REG R2
0ab 0x7201 IOW Reg2 IO_01 WRITE OUT TO HIGHER LEVEL
0ac WR102 0x404A LRI Reg0 0X4A I2C SLAVE ADDRESS IN R0
0ad 0x4115 LRI Reg1 0X15 MCP OLATA REGISTER IN R1
0ae 0x6201 IOR Reg2 IO_01 READ FROM HIGHER LEVEL
0af 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
0b0 RD103 0x404C LRI Reg0 0X4C I2C SLAVE ADDRESS IN R0
0b1 0x4112 LRI Reg1 0X12 MCP GPIOA REGISTER IN R1
0b2 0xC0D0 JSR RD_I2C CALL MCP23017 I2C READ – RETURN IN REG R2
0b3 0x7202 IOW Reg2 IO_02 WRITE OUT TO HIGHER LEVEL
0b4 WR103 0x404C LRI Reg0 0X4C I2C SLAVE ADDRESS IN R0
0b5 0x4115 LRI Reg1 0X15 MCP OLATA REGISTER IN R1
0b6 0x6202 IOR Reg2 IO_02 READ FROM HIGHER LEVEL
0b7 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
0b8 RD104 0x404E LRI Reg0 0X4E I2C SLAVE ADDRESS IN R0
0b9 0x4112 LRI Reg1 0X12 MCP GPIOA REGISTER IN R1
0ba 0xC0D0 JSR RD_I2C CALL MCP23017 I2C READ – RETURN IN REG R2
0bb 0x7203 IOW Reg2 IO_03 WRITE OUT TO HIGHER LEVEL
0bc WR104 0x404E LRI Reg0 0X4E I2C SLAVE ADDRESS IN R0
0bd 0x4115 LRI Reg1 0X15 MCP OLATA REGISTER IN R1
0be 0x6203 IOR Reg2 IO_03 READ FROM HIGHER LEVEL
0bf 0xC0C2 JSR WR_I2C CALL MCP23017 I2C WRITE
0c0 0x7906 IOW #0x01 IO_06 WRITE SCAN STROBE
0c1 0xD0A0 JMP RD101 LOOP FOREVER
0c2 WR_I2C 0x7905 IOW #0x01 IO_05 ISSUE START COMMAND (0X00)
0c3 0xC0E7 JSR POLLBS POLL I2C STATUS BUSY
0c4 0x7004 IOW Reg0 IO_04 WRITE SLAVE ADDRESS (PASSED IN RO)
0c5 0xC0E7 JSR POLLBS POLL I2C STATUS BUSY
0c6 0x7805 IOW #0x00 IO_05 ISSUE IDLE COMMAND
0c7 0xC0E7 JSR POLLBS POLL I2C STATUS BUSY
0c8 0x7104 IOW Reg1 IO_04 WRITE MCP REGISTER TO MCP (PASSED IN R1)
0c9 0xC0E7 JSR POLLBS POLL I2C STATUS BUSY
0ca 0x4303 LRI Reg3 0X03 STOP COMMAND VALUE
0cb 0x7305 IOW Reg3 IO_05 ISSUE STOP COMMAND
0cc 0xC0E7 JSR POLLBS POLL I2C STATUS BUSY
0cd 0x7204 IOW Reg2 IO_04 WRITE VALUE MCP (PASSED IN R2)
0ce 0xC0E7 JSR POLLBS POLL I2C STATUS BUSY
0cf 0x3008 RTS
0d0 RD_I2C 0x7905 IOW #0x01 IO_05 ISSUE I2C START COMMAND
0d1 0xC0E7 JSR POLLBS POLL I2C STATUS BUSY
0d2 0x7004 IOW Reg0 IO_04 WRITE I2C SLAVE ADDRESS (PASSED IN R0)
0d3 0xC0E7 JSR POLLBS POLL I2C STATUS BUSY
0d4 0x4303 LRI Reg3 0X03 LOAD STOP COMMAND
0d5 0x7305 IOW Reg3 IO_05 ISSUE STOP COMMAND
0d6 0xC0E7 JSR POLLBS POLL I2C STATUS BUSY
0d7 0x7104 IOW Reg1 IO_04 WRITE MCP REGISTER TO MCP (PASSED IN R1)
0d8 0xC0E7 JSR POLLBS POLL I2C STATUS BUSY
0d9 0x7905 IOW #0x01 IO_05 ISSUE START COMMAND
0da 0x9001 ORI Reg0 0X01 SET I2C ADDR TO READ
0db 0x7004 IOW Reg0 IO_04 WRITE I2C SLAVE ADDRESS (PASSED IN R0)
0dc 0xC0E7 JSR POLLBS POLL I2C STATUS BUSY
0dd 0x7805 IOW #0x00 IO_05 ISSUE IDLE COMMAND
0de 0xC0E7 JSR POLLBS POLL I2C STATUS BUSY
0df 0x4454 LRI Reg4 0X54 LOAD BOGUS WRITE
0e0 0x7404 IOW Reg4 IO_04 WRITE BOGUS TO MAKE I2C DO READ
0e1 0xC0E7 JSR POLLBS POLL I2C STATUS BUSY
0e2 0x6204 IOR Reg2 IO_04 READ MCP REGISTER TO REG RETURN IN R2
0e3 0x4303 LRI Reg3 0X03 STOP COMMAND
0e4 0x7305 IOW Reg3 IO_05 ISSUE STOP COMMAND
0e5 0xC0E7 JSR POLLBS
0e6 0x3008 RTS
0e7 POLLBS 0x6705 IOR Reg7 IO_05 POLL I2C STATUS BUSY
0e8 0xA701 ARI Reg7 0X01 MASK BUSY BIT
0e9 0xF0E7 BNZ POLLBS LOOP BACK IF STILL BUSY
0ea 0x3008 RTS