📄 i2c.lst
字号:
231 0033 2800 R JMP L138
231 0034 L135:
; 233: if(!ReceiveByte())
233 0034 2000 R CALL _ReceiveByte
233 0035 0080 R MOV b0_8,A
233 0036 3C00 R SZ b0_8.0
233 0037 2800 R JMP L140
; 234: break;
234 0038 2800 R JMP L137
234 0039 L140:
; 235: I2C.ucData[i] = I2C.uReceive.ucValue;
235 0039 0700 R MOV A,CR20
235 003A 0B00 R ADD A,OFFSET _I2C[8]
235 003B 0080 R MOV b0_8,A
235 003C 0700 R MOV A,b0_8
235 003D 0081 MOV [01H],A
235 003E 0700 R MOV A,_I2C[2]
235 003F 0080 MOV [00H],A
235 0040 L136:
; 231: for(i=0; i<I2C.ucDataNumber; i++)
文件:I2C.c 盛群编译器版本 2.86 页次16
231 0040 1480 R INC CR20
231 0041 L138:
231 0041 0700 R MOV A,CR20
231 0042 0200 R SUB A,_I2C[7]
231 0043 380A SNZ [0ah].0
231 0044 2800 R JMP L135
231 0045 L137:
; 237: I2C.uSend.ucValue = 0x80; //发送准备信息
237 0045 0F80 MOV A,080h
237 0046 0080 R MOV _I2C[1],A
; 238: I2C.ucPulseNumber = 1;
238 0047 0F01 MOV A,01h
238 0048 0080 R MOV _I2C[4],A
; 239: PulseOut();
239 0049 2000 R CALL _PulseOut
; 240: return OK;
240 004A 1F05 CLR [05H]
240 004B 3005 SET [05H].0
240 004C 2800 R JMP L112
240 004D L121:
; 243: ucWatch = 0xfd;
243 004D 0FFD MOV A,0fdh
文件:I2C.C 盛群编译器版本 2.86 页次15
243 004E 0080 R MOV _ucWatch,A
; 244: return ERROR;
244 004F 1F05 CLR [05H]
244 0050 2800 R JMP L112
244 0051 L119:
; 246: ucWatch = 0xff; return ERROR;
246 0051 1F80 R SET _ucWatch
246 0052 1F05 CLR [05H]
246 0053 2800 R JMP L112
246 0054 L113:
; 248: ucWatch = 0xfe;return ERROR;
248 0054 0FFE MOV A,0feh
248 0055 0080 R MOV _ucWatch,A
248 0056 1F05 CLR [05H]
248 0057 L112:
248 0057 0003 RET
248 0000 00 LOCAL b0_8 DB ?
; 212: unsigned char i, ucTemp;
212 0001 00 LOCAL CR20 DB ? ; i
212 0058 _Send ENDP
; 252: {
252 0000 @MAIN .SECTION 'CODE'
252 0000 PUBLIC _MAIN
252 0000 _MAIN PROC
; 256: SYSTEM_INITIAL();
文件:I2C.c 盛群编译器版本 2.86 页次17
256 0000 2000 R CALL _SYSTEM_INITIAL
; 258: GameInitial();
258 0001 2000 R CALL _GameInitial
; 259: k = 0; t1 =0; t2 = 0; ucWatch = 0; ucWatch2 = 0;
259 0002 1F00 R CLR CR32
259 0003 1F00 R CLR CR37
259 0004 1F00 R CLR CR38
259 0005 1F00 R CLR _ucWatch
259 0006 1F00 R CLR _ucWatch2
259 0007 2800 R JMP L148
259 0008 L147:
; 262: for(j=0, i1=1, i2=2, i3=3, i4=4; j<0xFFFE; j++, i1++, i2+=2, i3+=3, i4+=4)
262 0008 1F00 R CLR CR31
262 0009 1F00 R CLR CR31[1]
262 000A 0F01 MOV A,01h
262 000B 0080 R MOV CR27,A
262 000C 0F02 MOV A,02h
262 000D 0080 R MOV CR28,A
262 000E 0F03 MOV A,03h
262 000F 0080 R MOV CR29,A
262 0010 0F04 MOV A,04h
文件:I2C.C 盛群编译器版本 2.86 页次16
262 0011 0080 R MOV CR30,A
262 0012 2800 R JMP L153
262 0013 L150:
; 264: I2C.ucID = 1;
264 0013 0F01 MOV A,01h
264 0014 0080 R MOV _I2C[5],A
; 265: I2C.ucCommand = DISPLAY;
265 0015 0F01 MOV A,01h
265 0016 0080 R MOV _I2C[6],A
; 266: I2C.ucDataNumber = 4;
266 0017 0F04 MOV A,04h
266 0018 0080 R MOV _I2C[7],A
; 267: I2C.ucData[0] = i1;
267 0019 0700 R MOV A,CR27
267 001A 0080 R MOV _I2C[8],A
; 268: I2C.ucData[1] = i2;
268 001B 0700 R MOV A,CR28
268 001C 0080 R MOV _I2C[9],A
; 269: I2C.ucData[2] = i3;
269 001D 0700 R MOV A,CR29
269 001E 0080 R MOV _I2C[10],A
; 270: I2C.ucData[3] = i4;
270 001F 0700 R MOV A,CR30
270 0020 0080 R MOV _I2C[11],A
; 271: ucTemp1 = I2C.ucData[0];
271 0021 0700 R MOV A,_I2C[8]
文件:I2C.c 盛群编译器版本 2.86 页次18
271 0022 0080 R MOV CR33,A
; 272: ucTemp2 = I2C.ucData[1];
272 0023 0700 R MOV A,_I2C[9]
272 0024 0080 R MOV CR34,A
; 273: ucTemp3 = I2C.ucData[2];
273 0025 0700 R MOV A,_I2C[10]
273 0026 0080 R MOV CR35,A
; 274: ucTemp4 = I2C.ucData[3];
274 0027 0700 R MOV A,_I2C[11]
274 0028 0080 R MOV CR36,A
; 275: if (!Send())
275 0029 2000 R CALL _Send
275 002A 0080 R MOV b0_9,A
275 002B 3C00 R SZ b0_9.0
275 002C 2800 R JMP L171
; 276: {t1 = 0x1; break;}
276 002D 0F01 MOV A,01h
276 002E 0080 R MOV CR37,A
276 002F 2800 R JMP L152
276 0030 L171:
; 277: for(n=0; n<0xFFff; n++) ;
277 0030 1F00 R CLR CR26
277 0031 1F00 R CLR CR26[1]
277 0032 2800 R JMP L176
277 0033 L173:
277 0033 L174:
277 0033 1480 R INC CR26
文件:I2C.C 盛群编译器版本 2.86 页次17
277 0034 3D0A SZ [0AH].2
277 0035 1480 R INC CR26[1]
277 0036 L176:
277 0036 0FFF MOV A,0ffh
277 0037 0200 R SUB A,CR26[1]
277 0038 380A SNZ [0ah].0
277 0039 2800 R JMP L218
277 003A 390A SNZ [0ah].2
277 003B 2800 R JMP L173
277 003C 0FFF MOV A,0ffh
277 003D 0200 R SUB A,CR26
277 003E 380A SNZ [0ah].0
277 003F 2800 R JMP L218
277 0040 390A SNZ [0ah].2
277 0041 2800 R JMP L173
277 0042 L218:
; 278: I2C.ucData[0] = 0x00;
278 0042 1F00 R CLR _I2C[8]
; 279: I2C.ucData[1] = 0x00;
279 0043 1F00 R CLR _I2C[9]
; 280: I2C.ucData[2] = 0x00;
280 0044 1F00 R CLR _I2C[10]
文件:I2C.c 盛群编译器版本 2.86 页次19
; 281: I2C.ucData[3] = 0x00;
281 0045 1F00 R CLR _I2C[11]
; 282: I2C.ucID = 1;
282 0046 0F01 MOV A,01h
282 0047 0080 R MOV _I2C[5],A
; 283: I2C.ucCommand = KEYBOARD;
283 0048 0F03 MOV A,03h
283 0049 0080 R MOV _I2C[6],A
; 284: I2C.ucDataNumber = 4;
284 004A 0F04 MOV A,04h
284 004B 0080 R MOV _I2C[7],A
; 285: if (!Send())
285 004C 2000 R CALL _Send
285 004D 0080 R MOV b0_9,A
285 004E 3C00 R SZ b0_9.0
285 004F 2800 R JMP L187
; 286: {t2 = 0x2; break;}
286 0050 0F02 MOV A,02h
286 0051 0080 R MOV CR38,A
286 0052 2800 R JMP L152
286 0053 L187:
; 287: ucTemp1 = I2C.ucData[0];
287 0053 0700 R MOV A,_I2C[8]
287 0054 0080 R MOV CR33,A
; 288: ucTemp2 = I2C.ucData[1];
288 0055 0700 R MOV A,_I2C[9]
288 0056 0080 R MOV CR34,A
; 289: ucTemp3 = I2C.ucData[2];
289 0057 0700 R MOV A,_I2C[10]
289 0058 0080 R MOV CR35,A
; 290: ucTemp4 = I2C.ucData[3];
290 0059 0700 R MOV A,_I2C[11]
290 005A 0080 R MOV CR36,A
; 291: if (I2C.ucData[0] != i1)
文件:I2C.C 盛群编译器版本 2.86 页次18
291 005B 0700 R MOV A,_I2C[8]
291 005C 0400 R XOR A,CR27
291 005D 3D0A SZ [0ah].2
291 005E 2800 R JMP L196
; 292: {k = 0x1;break;}
292 005F 0F01 MOV A,01h
292 0060 0080 R MOV CR32,A
292 0061 2800 R JMP L152
292 0062 L196:
; 293: if (I2C.ucData[1] != i2)
293 0062 0700 R MOV A,_I2C[9]
文件:I2C.c 盛群编译器版本 2.86 页次20
293 0063 0400 R XOR A,CR28
293 0064 3D0A SZ [0ah].2
293 0065 2800 R JMP L199
; 294: {k = 0x2;break;}
294 0066 0F02 MOV A,02h
294 0067 0080 R MOV CR32,A
294 0068 2800 R JMP L152
294 0069 L199:
; 295: if (I2C.ucData[2] != i3)
295 0069 0700 R MOV A,_I2C[10]
295 006A 0400 R XOR A,CR29
295 006B 3D0A SZ [0ah].2
295 006C 2800 R JMP L203
; 296: {k = 0x3;break;}
296 006D 0F03 MOV A,03h
296 006E 0080 R MOV CR32,A
296 006F 2800 R JMP L152
296 0070 L203:
; 297: if (I2C.ucData[3] != i4)
297 0070 0700 R MOV A,_I2C[11]
297 0071 0400 R XOR A,CR30
297 0072 3D0A SZ [0ah].2
297 0073 2800 R JMP L207
; 298: {k = 0x4;break;}
298 0074 0F04 MOV A,04h
298 0075 0080 R MOV CR32,A
298 0076 2800 R JMP L152
298 0077 L207:
; 299: for(n=0; n<0xFFff; n++) ;
299 0077 1F00 R CLR CR26
299 0078 1F00 R CLR CR26[1]
299 0079 2800 R JMP L214
299 007A L211:
299 007A L212:
299 007A 1480 R INC CR26
文件:I2C.C 盛群编译器版本 2.86 页次19
299 007B 3D0A SZ [0AH].2
299 007C 1480 R INC CR26[1]
299 007D L214:
299 007D 0FFF MOV A,0ffh
299 007E 0200 R SUB A,CR26[1]
299 007F 380A SNZ [0ah].0
299 0080 2800 R JMP L219
299 0081 390A SNZ [0ah].2
299 0082 2800 R JMP L211
299 0083 0FFF MOV A,0ffh
299 0084 0200 R SUB A,CR26
299 0085 380A SNZ [0ah].0
299 0086 2800 R JMP L219
299 0087 390A SNZ [0ah].2
299 0088 2800 R JMP L211
299 0089 L219:
299 0089 L151:
文件:I2C.c 盛群编译器版本 2.86 页次21
; 262: for(j=0, i1=1, i2=2, i3=3, i4=4; j<0xFFFE; j++, i1++, i2+=2, i3+=3, i4+=4)
262 0089 1480 R INC CR31
262 008A 3D0A SZ [0AH].2
262 008B 1480 R INC CR31[1]
262 008C 1480 R INC CR27
262 008D 0F02 MOV A,02h
262 008E 0380 R ADDM A,CR28
262 008F 0F03 MOV A,03h
262 0090 0380 R ADDM A,CR29
262 0091 0F04 MOV A,04h
262 0092 0380 R ADDM A,CR30
262 0093 L153:
262 0093 0FFF MOV A,0ffh
262 0094 0200 R SUB A,CR31[1]
262 0095 380A SNZ [0ah].0
262 0096 2800 R JMP L220
262 0097 390A SNZ [0ah].2
262 0098 2800 R JMP L150
262 0099 0FFE MOV A,0feh
262 009A 0200 R SUB A,CR31
262 009B 380A SNZ [0ah].0
262 009C 2800 R JMP L220
262 009D 390A SNZ [0ah].2
262 009E 2800 R JMP L150
262 009F L220:
262 009F L152:
; 301: if (j != 0xFFFF)
301 009F 0700 R MOV A,CR31
301 00A0 0CFF XOR A,0ffh
301 00A1 390A SNZ [0ah].2
301 00A2 2800 R JMP L221
301 00A3 0700 R MOV A,CR31[1]
301 00A4 0CFF XOR A,0ffh
301 00A5 3D0A SZ [0ah].2
301 00A6 2800 R JMP L215
301 00A7 L221:
; 302: I2C.ucData[0] = 1;
302 00A7 0F01 MOV A,01h
302 00A8 0080 R MOV _I2C[8],A
302 00A9 L215:
文件:I2C.C 盛群编译器版本 2.86 页次20
302 00A9 L148:
; 260: while(1)
260 00A9 2800 R JMP L147
260 00AA L146:
260 00AA 0003 RET
260 0000 00 LOCAL b0_9 DB ?
; 255: unsigned long j, n;
255 0001 0002[ LOCAL CR26 DB 2 DUP (?) ; n
00
]
; 254: unsigned char i1, i2, i3, i4, k,t1,t2;
254 0003 00 LOCAL CR27 DB ? ; i1
文件:I2C.c 盛群编译器版本 2.86 页次22
254 0004 00 LOCAL CR28 DB ? ; i2
254 0005 00 LOCAL CR29 DB ? ; i3
254 0006 00 LOCAL CR30 DB ? ; i4
; 255: unsigned long j, n;
255 0007 0002[ LOCAL CR31 DB 2 DUP (?) ; j
00
]
; 254: unsigned char i1, i2, i3, i4, k,t1,t2;
254 0009 00 LOCAL CR32 DB ? ; k
; 253: unsigned char ucTemp1, ucTemp2, ucTemp3, ucTemp4;
253 000A 00 LOCAL CR33 DB ? ; ucTemp1
253 000B 00 LOCAL CR34 DB ? ; ucTemp2
253 000C 00 LOCAL CR35 DB ? ; ucTemp3
253 000D 00 LOCAL CR36 DB ? ; ucTemp4
; 254: unsigned char i1, i2, i3, i4, k,t1,t2;
254 000E 00 LOCAL CR37 DB ? ; t1
254 000F 00 LOCAL CR38 DB ? ; t2
254 00AB _MAIN ENDP
254 00AB PUBLIC _ucI2CStatus
254 0000 @ucI2CStatus .SECTION 'DATA'
; 36: unsigned char ucI2CAcc, ucI2CStatus;
36 0000 00 _ucI2CStatus DB ? ; ucI2CStatus
36 0001 PUBLIC _ucI2CAcc
36 0000 @ucI2CAcc .SECTION 'DATA'
36 0000 00 _ucI2CAcc DB ? ; ucI2CAcc
文件:I2C.C 盛群编译器版本 2.86 页次21
36 0001 PUBLIC _ucWatch3
36 0000 @ucWatch3 .SECTION 'DATA'
; 6: unsigned char ucWatch, ucWatch2, ucWatch3;
6 0000 00 _ucWatch3 DB ? ; ucWatch3
6 0001 PUBLIC _ucWatch2
6 0000 @ucWatch2 .SECTION 'DATA'
6 0000 00 _ucWatch2 DB ? ; ucWatch2
6 0001 PUBLIC _ucWatch
6 0000 @ucWatch .SECTION 'DATA'
6 0000 00 _ucWatch DB ? ; ucWatch
6 0001 EXTERN _SPEECH_INITIAL:NEAR
6 0001 PUBLIC _I2C
6 0000 @I2C .SECTION 'DATA'
; 1: struct sI2C I2C;
1 0000 0010[ _I2C DB 16 DUP (?) ;I2C
00
]
0 Errors
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -