📄 channel_mana.lst
字号:
254 0057 0700 R MOV A, RF_CHANNEL_RSSI
255 0058 0A02 SUB A, 2
256 0059 3C05 SZ ACC.0
257 005A ;SZ CHANNEL_IDX_RSSI.0
258 005A 2800 R JMP PUT_RSSI_LOW_BYTE_A
259 005B
260 005B 0F0F MOV A, 00FH
261 005C 0680 ANDM A, ID0
262 005D 0700 R MOV A, RSSI_ACC_TEMP
263 005E 1885 RL ACC
264 005F 1885 RL ACC
265 0060 1885 RL ACC
266 0061 1885 RL ACC
267 0062 0580 ORM A, ID0
268 0063 2800 R JMP PUT_RSSI_BACK_DONE_A
269 0064
270 0064 PUT_RSSI_LOW_BYTE_A:
271 0064 0FF0 MOV A, 0F0H
272 0065 0680 ANDM A, ID0
273 0066 0700 R MOV A, RSSI_ACC_TEMP
274 0067 0580 ORM A, ID0
275 0068
276 0068 PUT_RSSI_BACK_DONE_A:
277 0068
278 0068 ; IF RSSI_ACC_TEMP > RSSI_ACC_LIMIT THEN MARK THIS CHANNEL AS "DON'T BROTHER"
279 0068 ; MOV A, RF_CHANNEL_RSSI ;KIM
280 0068 ; AND A, 00FH ;KIM
281 0068 ; XOR A, 00FH ;KIM
282 0068 ; SZ ACC ;KIM
283 0068 ; JMP JUDGE_AS_USUAL ;KIM
284 0068 ; JMP CLEAR_MARK_THIS_CHANNEL_A ;KIM
285 0068 ;JUDGE_AS_USUAL: ;KIM
286 0068 0700 R MOV A, RSSI_LIMIT
287 0069 0200 R SUB A, RSSI_ACC_TEMP
288 006A 3B85 SNZ ACC.7
289 006B 2800 R JMP CLEAR_MARK_THIS_CHANNEL_A
290 006C
291 006C 2300 CALL MARK_CHANNEL
292 006D 2800 R JMP EXIT_REFRESH_RSSI_ACC_A
293 006E
294 006E CLEAR_MARK_THIS_CHANNEL_A:
295 006E 2319 CALL CLEAR_MARKED_CHANNEL
296 006F
297 006F EXIT_REFRESH_RSSI_ACC_A:
"File: CHANNEL_MANA.ASM Holtek Cross-Assembler Version 2.86 Page 6
298 006F
299 006F 0003 RET
300 0070
301 0070
302 0070 ;============================================================================
303 0070 REFRESH_RSSI_ACC:
304 0070 3400 R CLR RSSI_INC_FLAG
305 0071 1085 SZ ACC
306 0072 3000 R SET RSSI_INC_FLAG
307 0073
308 0073 0700 R MOV A, CHANNEL_IDX_RSSI
309 0074 1985 RR ACC
310 0075 0E7F AND A, 07FH
311 0076
312 0076 0B50 ADD A, RF_RSSI_STATUS
313 0077 0081 MOV MP0, A
314 0078 0700 MOV A, ID0
315 0079
316 0079 3C00 R SZ CHANNEL_IDX_RSSI.0
317 007A 2800 R JMP LOW_BYTE_RSSI
318 007B
319 007B 1985 RR ACC
320 007C 1985 RR ACC
321 007D 1985 RR ACC
322 007E 1985 RR ACC
323 007F
324 007F LOW_BYTE_RSSI:
325 007F
326 007F 0E0F AND A, 00FH
327 0080 3C00 R SZ RSSI_INC_FLAG
328 0081 2800 R JMP INC_RSSI_ACC
329 0082
330 0082 1085 SZ ACC
331 0083 1585 DEC ACC
332 0084 ; SZ ACC
333 0084 ; DEC ACC
334 0084 ; SZ ACC
335 0084 ; DEC ACC
336 0084 ; SZ ACC
337 0084 ; DEC ACC
338 0084 ; SZ ACC
339 0084 ; DEC ACC
340 0084 ; SZ ACC
341 0084 ; DEC ACC
342 0084 ; SZ ACC
343 0084 ; DEC ACC
344 0084 ; SZ ACC
345 0084 ; DEC ACC
346 0084 2800 R JMP PUT_RSSI_ACC_BACK
347 0085
348 0085 INC_RSSI_ACC:
349 0085
350 0085 1485 INC ACC
351 0086 0E0F AND A, 00FH
352 0087 1085 SZ ACC
353 0088 2800 R JMP PUT_RSSI_ACC_BACK
354 0089
355 0089 1F85 SET ACC
356 008A 0E0F AND A, 00FH
357 008B 2800 R JMP PUT_RSSI_ACC_BACK
"File: CHANNEL_MANA.ASM Holtek Cross-Assembler Version 2.86 Page 7
358 008C
359 008C ; INC_A0:
360 008C ; INC ACC
361 008C ; AND A, 00FH
362 008C ; SZ ACC
363 008C ; JMP PUT_RSSI_ACC_BACK
364 008C ;
365 008C ; SET ACC
366 008C ; AND A, 00FH
367 008C ; JMP PUT_RSSI_ACC_BACK
368 008C ;
369 008C ; INC_A1:
370 008C ; INC ACC
371 008C ; AND A, 00FH
372 008C ; SZ ACC
373 008C ; JMP INC_A2;PUT_RSSI_ACC_BACK
374 008C ;
375 008C ; SET ACC
376 008C ; AND A, 00FH
377 008C ; JMP PUT_RSSI_ACC_BACK
378 008C ;
379 008C ; INC_A2:
380 008C ;
381 008C ; INC ACC
382 008C ; AND A, 00FH
383 008C ; SZ ACC
384 008C ; JMP INC_A3;PUT_RSSI_ACC_BACK
385 008C ;
386 008C ; SET ACC
387 008C ; AND A, 00FH
388 008C ; JMP PUT_RSSI_ACC_BACK
389 008C ;
390 008C ; INC_A3:
391 008C ; INC ACC
392 008C ; AND A, 00FH
393 008C ; SZ ACC
394 008C ; JMP INC_A4;PUT_RSSI_ACC_BACK
395 008C ;
396 008C ; SET ACC
397 008C ; AND A, 00FH
398 008C ; JMP PUT_RSSI_ACC_BACK
399 008C ;
400 008C ; INC_A4:
401 008C ; INC ACC
402 008C ; AND A, 00FH
403 008C ; SZ ACC
404 008C ; JMP PUT_RSSI_ACC_BACK
405 008C ;
406 008C ; SET ACC
407 008C ; AND A, 00FH
408 008C ; ;JMP PUT_RSSI_ACC_BACK
409 008C ;
410 008C PUT_RSSI_ACC_BACK:
411 008C
412 008C 0080 R MOV RSSI_ACC_TEMP, A
413 008D 0700 MOV A, ID0
414 008E
415 008E 3C00 R SZ CHANNEL_IDX_RSSI.0
416 008F 2800 R JMP PUT_RSSI_LOW_BYTE
417 0090
"File: CHANNEL_MANA.ASM Holtek Cross-Assembler Version 2.86 Page 8
418 0090 0F0F MOV A, 00FH
419 0091 0680 ANDM A, ID0
420 0092 0700 R MOV A, RSSI_ACC_TEMP
421 0093 1885 RL ACC
422 0094 1885 RL ACC
423 0095 1885 RL ACC
424 0096 1885 RL ACC
425 0097 0580 ORM A, ID0
426 0098 2800 R JMP PUT_RSSI_BACK_DONE
427 0099
428 0099 PUT_RSSI_LOW_BYTE:
429 0099 0FF0 MOV A, 0F0H
430 009A 0680 ANDM A, ID0
431 009B 0700 R MOV A, RSSI_ACC_TEMP
432 009C 0580 ORM A, ID0
433 009D
434 009D PUT_RSSI_BACK_DONE:
435 009D
436 009D ; IF RSSI_ACC_TEMP > RSSI_ACC_LIMIT THEN MARK THIS CHANNEL AS "DON'T BROTHER"
437 009D 0700 R MOV A, RSSI_ACC_LIMIT
438 009E 0200 R SUB A, RSSI_ACC_TEMP
439 009F 3B85 SNZ ACC.7
440 00A0 2800 R JMP CLEAR_MARK_THIS_CHANNEL
441 00A1
442 00A1 ; CPL ACC
443 00A1 ; AND A, 00FH
444 00A1 ; SZ ACC
445 00A1 ; JMP CLEAR_MARK_THIS_CHANNEL
446 00A1
447 00A1
448 00A1 2300 CALL MARK_CHANNEL
449 00A2 2800 R JMP EXIT_REFRESH_RSSI_ACC
450 00A3
451 00A3 CLEAR_MARK_THIS_CHANNEL:
452 00A3 2319 CALL CLEAR_MARKED_CHANNEL
453 00A4
454 00A4 EXIT_REFRESH_RSSI_ACC:
455 00A4
456 00A4 0003 RET
457 00A5 ;============================================================================
458 00A5
459 0000 RF_REG_VALUE .SECTION AT 0300H 'CODE'
460 0000
461 0000 MARK_CHANNEL:
462 0000
463 0000 0700 R MOV A, RF_CHANNEL_RSSI
464 0001 0A02 SUB A, 2
465 0002 ;MOV A, CHANNEL_IDX_RSSI
466 0002 1985 RR ACC
467 0003 1985 RR ACC
468 0004 1985 RR ACC
469 0005 0E1F AND A, 01FH ; 000X XXXX
470 0006
471 0006 0B86 ADD A, RF_CHANNEL_STATUS
472 0007 0081 MOV MP0, A
473 0008
474 0008 0700 R MOV A, RF_CHANNEL_RSSI
475 0009 0A02 SUB A, 2
476 000A ;MOV A, CHANNEL_IDX_RSSI
477 000A 0E07 AND A, 007H ; 0000 0XXX
"File: CHANNEL_MANA.ASM Holtek Cross-Assembler Version 2.86 Page 9
478 000B 0080 R MOV BIT_MASK_INDEX, A
479 000C
480 000C 0F3B MOV A, BIT_MASK_TABLE
481 000D 0300 R ADD A, BIT_MASK_INDEX
482 000E 0087 MOV TBLP, A
483 000F 1D00 R TABRDC CHANNEL_BIT_MASK
484 0010
485 0010 0700 MOV A, ID0
486 0011 0600 R AND A, CHANNEL_BIT_MASK
487 0012 1085 SZ ACC
488 0013 2B15 JMP NOTDECCNT
489 0014 1580 R DEC SAFE_CHANNEL_CNT
490 0015
491 0015 NOTDECCNT:
492 0015
493 0015 0700 MOV A, ID0
494 0016 0500 R OR A, CHANNEL_BIT_MASK
495 0017 0080 MOV ID0, A
496 0018 ;
497 0018 ; MOV A, 30
498 0018 ; SUB A, SAFE_CHANNEL_CNT
499 0018 ; SZ ACC.7
500 0018 ; JMP CHANNEL_ENOUGH
501 0018 ;
502 0018 ; INC RSSI_LIMIT
503 0018 ; MOV A, 4
504 0018 ; XOR A, RSSI_LIMIT
505 0018 ; SZ ACC
506 0018 ; JMP CHANNEL_ENOUGH
507 0018 ;
508 0018 ; MOV A, 4
509 0018 ; MOV RSSI_LIMIT, A
510 0018 ;
511 0018 ; CHANNEL_ENOUGH:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -