📄 main.ls1
字号:
226 ; do
227 ; {
228 ; SOURCE LINE # 53
229 ; k=248;
230 ; SOURCE LINE # 54
231 ;---- Variable 'k?044' assigned to Register 'R5' ----
0024 7DF8 232 MOV R5,#0F8H
233 ; do
234 ; {}while(--k);
235 ; SOURCE LINE # 56
0026 236 ?C0011:
0026 DDFE 237 DJNZ R5,?C0011
238 ; }while(--j);
239 ; SOURCE LINE # 57
0028 DEFA 240 DJNZ R6,?C0010
241 ; }while(--i);
242 ; SOURCE LINE # 58
002A DFF6 243 DJNZ R7,?C0007
244 ;
245 ; SLA=0xA0;
246 ; SOURCE LINE # 60
002C 7500A0 F 247 MOV SLA,#0A0H
248 ; SUBA=0x30;
249 ; SOURCE LINE # 61
002F 750030 F 250 MOV SUBA,#030H
251 ; NUMBYTE=16;
252 ; SOURCE LINE # 62
0032 750010 F 253 MOV NUMBYTE,#010H
254 ; IRDNBYTE();
255 ; SOURCE LINE # 63
A51 MACRO ASSEMBLER MAIN 05/22/2007 12:48:49 PAGE 5
0035 020000 F 256 LJMP IRDNBYTE
257 ; END OF main
258
259 ; }
260 ;
261 ;
262 ; void IWRNBYTE()
263
---- 264 RSEG ?PR?IWRNBYTE?MAIN
0000 265 IWRNBYTE:
266 USING 0
267 ; SOURCE LINE # 67
268 ; {
269 ; SOURCE LINE # 68
270 ; BYTE i;
271 ; BYTE offset;
272 ;
273 ; dd:
274 ; SOURCE LINE # 72
0000 275 ?IWRNBYTE?dd:
276 ; i=NUMBYTE;
277 ; SOURCE LINE # 73
0000 850000 F 278 MOV i?145,NUMBYTE
279 ; offset=0;
280 ; SOURCE LINE # 74
0003 E4 281 CLR A
0004 F500 F 282 MOV offset?146,A
283 ;
284 ; START();
285 ; SOURCE LINE # 76
0006 120000 F 286 LCALL START
287 ; WRBYTE(SLA);
288 ; SOURCE LINE # 77
0009 AF00 F 289 MOV R7,SLA
000B 120000 F 290 LCALL _WRBYTE
291 ; CACK();
292 ; SOURCE LINE # 78
000E 120000 F 293 LCALL CACK
294 ; if(!ACK)
295 ; SOURCE LINE # 79
0011 200002 F 296 JB ACK,?C0016
297 ; {
298 ; SOURCE LINE # 80
299 ; STOP(); return;
300 ; SOURCE LINE # 81
0014 801D 301 SJMP ?C0045
302 ; }
303 ; SOURCE LINE # 82
0016 304 ?C0016:
305 ; WRBYTE(SUBA);
306 ; SOURCE LINE # 83
0016 AF00 F 307 MOV R7,SUBA
0018 120000 F 308 LCALL _WRBYTE
309 ; CACK();
310 ; SOURCE LINE # 84
001B 120000 F 311 LCALL CACK
001E 312 ?C0020:
313 ;
314 ; do
315 ; {
316 ; SOURCE LINE # 87
317 ; WRBYTE(MTD[offset]);
318 ; SOURCE LINE # 88
001E 7400 F 319 MOV A,#LOW (MTD)
0020 2500 F 320 ADD A,offset?146
0022 F8 321 MOV R0,A
A51 MACRO ASSEMBLER MAIN 05/22/2007 12:48:49 PAGE 6
0023 E6 322 MOV A,@R0
0024 FF 323 MOV R7,A
0025 120000 F 324 LCALL _WRBYTE
325 ; CACK();
326 ; SOURCE LINE # 89
0028 120000 F 327 LCALL CACK
328 ; if(!ACK) goto dd;
329 ; SOURCE LINE # 90
002B 3000D2 F 330 JNB ACK,?IWRNBYTE?dd
002E 331 ?C0021:
332 ; offset++;
333 ; SOURCE LINE # 91
002E 0500 F 334 INC offset?146
335 ; }while(--i);
336 ; SOURCE LINE # 92
0030 D500EB F 337 DJNZ i?145,?C0020
338 ;
339 ; STOP();
340 ; SOURCE LINE # 94
0033 341 ?C0045:
0033 120000 F 342 LCALL STOP
343 ; }
344 ; SOURCE LINE # 95
0036 345 ?C0017:
0036 22 346 RET
347 ; END OF IWRNBYTE
348
349 ;
350 ; void IRDNBYTE()
351
---- 352 RSEG ?PR?IRDNBYTE?MAIN
0000 353 IRDNBYTE:
354 USING 0
355 ; SOURCE LINE # 97
356 ; {
357 ; SOURCE LINE # 98
358 ; BYTE offset;
359 ; BYTE num;
360 ; qq:
361 ; SOURCE LINE # 101
0000 362 ?IRDNBYTE?qq:
363 ; offset=0;
364 ; SOURCE LINE # 102
0000 E4 365 CLR A
0001 F500 F 366 MOV offset?247,A
367 ; num=NUMBYTE;
368 ; SOURCE LINE # 103
0003 850000 F 369 MOV num?248,NUMBYTE
370 ;
371 ;
372 ; START();
373 ; SOURCE LINE # 106
0006 120000 F 374 LCALL START
375 ; WRBYTE(SLA);
376 ; SOURCE LINE # 107
0009 AF00 F 377 MOV R7,SLA
000B 120000 F 378 LCALL _WRBYTE
379 ; CACK();
380 ; SOURCE LINE # 108
000E 120000 F 381 LCALL CACK
382 ; if(!ACK)
383 ; SOURCE LINE # 109
0011 200002 F 384 JB ACK,?C0023
385 ; {
386 ; SOURCE LINE # 110
387 ; STOP();
A51 MACRO ASSEMBLER MAIN 05/22/2007 12:48:49 PAGE 7
388 ; SOURCE LINE # 111
0014 802A 389 SJMP ?C0046
390 ; return;
391 ; }
392 ; SOURCE LINE # 113
0016 393 ?C0023:
394 ; WRBYTE(SUBA);
395 ; SOURCE LINE # 114
0016 AF00 F 396 MOV R7,SUBA
0018 120000 F 397 LCALL _WRBYTE
398 ; CACK();
399 ; SOURCE LINE # 115
001B 120000 F 400 LCALL CACK
401 ; START();
402 ; SOURCE LINE # 116
001E 120000 F 403 LCALL START
404 ; WRBYTE(++SLA);
405 ; SOURCE LINE # 117
0021 0500 F 406 INC SLA
0023 AF00 F 407 MOV R7,SLA
0025 120000 F 408 LCALL _WRBYTE
409 ; CACK();
410 ; SOURCE LINE # 118
0028 120000 F 411 LCALL CACK
412 ; if(!ACK) goto qq;
413 ; SOURCE LINE # 119
002B 3000D2 F 414 JNB ACK,?IRDNBYTE?qq
002E 415 ?C0028:
416 ;
417 ; do
418 ; {
419 ; SOURCE LINE # 122
420 ; MRD[offset]=RDBYTE;
421 ; SOURCE LINE # 123
002E 7400 F 422 MOV A,#LOW (MRD)
0030 2500 F 423 ADD A,offset?247
0032 F8 424 MOV R0,A
0033 7600 F 425 MOV @R0,#LOW (RDBYTE)
426 ; MACK();
427 ; SOURCE LINE # 124
0035 120000 F 428 LCALL MACK
429 ; offset++;
430 ; SOURCE LINE # 125
0038 0500 F 431 INC offset?247
432 ; }while(--num);
433 ; SOURCE LINE # 126
003A D500F1 F 434 DJNZ num?248,?C0028
435 ;
436 ; MNACK();
437 ; SOURCE LINE # 128
003D 120000 F 438 LCALL MNACK
439 ; STOP();
440 ; SOURCE LINE # 129
0040 441 ?C0046:
0040 120000 F 442 LCALL STOP
443 ; }
444 ; SOURCE LINE # 130
0043 445 ?C0024:
0043 22 446 RET
447 ; END OF IRDNBYTE
448
449 ;
450 ; void START()
451
---- 452 RSEG ?PR?START?MAIN
0000 453 START:
A51 MACRO ASSEMBLER MAIN 05/22/2007 12:48:49 PAGE 8
454 ; SOURCE LINE # 132
455 ; {
456 ; SOURCE LINE # 133
457 ; SDA=1; //发送起始条件示菪藕
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -