📄 rb.lst
字号:
03D5 30E702 =1 743 JNB ACC.7, Skip1 ; Valid Characters are 20H to 7FH
03D8 743F =1 744 MOV A, #3FH ; Replace characters > 7FH with ?
03DA C3 =1 745 Skip1: CLR C
03DB 9420 =1 746 SUBB A, #20H
03DD 5002 =1 747 JNC Skip2
03DF 743C =1 748 MOV A, #3CH ; Replace characters < 20H with []
03E1 75F005 =1 749 Skip2: MOV B, #5
03E4 A4 =1 750 MUL AB ; B = HI((Char-20H)*5), A = LOW
03E5 0586 =1 751 INC DPS ; Swap to DPTR0
03E7 90041A =1 752 MOV DPTR, #LookupTable
03EA 2582 =1 753 ADD A, DPL
03EC F582 =1 754 MOV DPL, A
03EE E5F0 =1 755 MOV A, B
03F0 3583 =1 756 ADDC A, DPH
03F2 F583 =1 757 MOV DPH, A ; DPTR now pointing into Lookup Table
03F4 7E05 =1 758 MOV R6, #5
03F6 E0 =1 759 LTCopy: MOVX A, @DPTR
03F7 F6 =1 760 MOV @R0, A
03F8 A3 =1 761 INC DPTR
03F9 08 =1 762 INC R0
03FA DEFA =1 763 DJNZ R6, LTCopy
03FC 7600 =1 764 MOV @R0, #0 ; Put a space between characters
03FE 08 =1 765 INC R0
A51 MACRO ASSEMBLER RB 23/07/99 16:57:48 PAGE 13
03FF 0586 =1 766 INC DPS ; Switch to DPTR1
0401 A3 =1 767 INC DPTR ; Point to next character in Output Report
0402 DFD0 =1 768 DJNZ R7, ORLoop
0404 0586 =1 769 INC DPS ; Return DPTR to DPTR0
=1 770 ; Fall into CreateInputReport
0406 =1 771 CreateInputReport:
=1 772 ; The report is 40 bytes long in this example
=1 773 ; It contains the LED Buffer
0406 907E80 =1 774 MOV DPTR, #EP1InBuffer ; Point to the buffer
0409 7849 =1 775 MOV R0, #LEDBuffer
040B 7F28 =1 776 MOV R7, #40
040D E6 =1 777 IRLoop: MOV A, @R0
040E F0 =1 778 MOVX @DPTR, A
040F A3 =1 779 INC DPTR
0410 08 =1 780 INC R0
0411 DFFA =1 781 DJNZ R7, IRLoop
0413 907FB7 =1 782 MOV DPTR, #IN1ByteCount
0416 7428 =1 783 MOV A, #40
0418 F0 =1 784 MOVX @DPTR, A ; Endpoint 1 now 'armed', next IN will get data
0419 22 =1 785 RET
=1 786
041A =1 787 LookupTable: ; Contains the 5 columns of the 7x5 display
041A 00000000 =1 788 DB 00H,00H,00H,00H,00H ; SPACE
041E 00
041F 00007D00 =1 789 DB 00H,00H,7DH,00H,00H ; !
0423 00
0424 00700070 =1 790 DB 00H,70H,00H,70H,00H ; "
0428 00
0429 147F147F =1 791 DB 14H,7FH,14H,7FH,14H ; #
042D 14
042E 122A7F2A =1 792 DB 12H,2AH,7FH,2AH,24H ; $
0432 24
0433 62640813 =1 793 DB 62H,64H,08H,13H,23H ; %
0437 23
0438 36495522 =1 794 DB 36H,49H,55H,22H,05H ; &
043C 05
043D 00506000 =1 795 DB 00H,50H,60H,00H,00H ; '
0441 00
0442 001C2241 =1 796 DB 00H,1CH,22H,41H,00H ; (
0446 00
0447 0041221C =1 797 DB 00H,41H,22H,1CH,00H ; )
044B 00
044C 14083E08 =1 798 DB 14H,08H,3EH,08H,14H ; *
0450 14
0451 08083E08 =1 799 DB 08H,08H,3EH,08H,08H ; +
0455 08
0456 00050600 =1 800 DB 00H,05H,06H,00H,00H ; ,
045A 00
045B 08080808 =1 801 DB 08H,08H,08H,08H,08H ; -
045F 08
0460 00030300 =1 802 DB 00H,03H,03H,00H,00H ; .
0464 00
0465 02040810 =1 803 DB 02H,04H,08H,10H,20H ; /
0469 20
046A 3E454951 =1 804 DB 3EH,45H,49H,51H,3EH ; 0
046E 3E
046F 00217F01 =1 805 DB 00H,21H,7FH,01H,00H ; 1
0473 00
0474 21434549 =1 806 DB 21H,43H,45H,49H,31H ; 2
0478 31
0479 42415169 =1 807 DB 42H,41H,51H,69H,46H ; 3
047D 46
047E 0C14247F =1 808 DB 0CH,14H,24H,7FH,04H ; 4
0482 04
0483 72515151 =1 809 DB 72H,51H,51H,51H,4EH ; 5
0487 4E
A51 MACRO ASSEMBLER RB 23/07/99 16:57:48 PAGE 14
0488 1E294949 =1 810 DB 1EH,29H,49H,49H,06H ; 6
048C 06
048D 40474850 =1 811 DB 40H,47H,48H,50H,60H ; 7
0491 60
0492 36494949 =1 812 DB 36H,49H,49H,49H,36H ; 8
0496 36
0497 3049494A =1 813 DB 30H,49H,49H,4AH,3CH ; 9
049B 3C
049C 00333300 =1 814 DB 00H,33H,33H,00H,00H ; :
04A0 00
04A1 00656600 =1 815 DB 00H,65H,66H,00H,00H ; ;
04A5 00
04A6 00081422 =1 816 DB 00H,08H,14H,22H,41H ; <
04AA 41
04AB 14141414 =1 817 DB 14H,14H,14H,14H,14H ; =
04AF 14
04B0 41221408 =1 818 DB 41H,22H,14H,08H,00H ; >
04B4 00
04B5 20404548 =1 819 DB 20H,40H,45H,48H,30H ; ?
04B9 30
04BA 26494F41 =1 820 DB 26H,49H,4FH,41H,3EH ; @
04BE 3E
04BF 3F484848 =1 821 DB 3FH,48H,48H,48H,3FH ; A
04C3 3F
04C4 7F494949 =1 822 DB 7FH,49H,49H,49H,36H ; B
04C8 36
04C9 3E414141 =1 823 DB 3EH,41H,41H,41H,22H ; C
04CD 22
04CE 7F414122 =1 824 DB 7FH,41H,41H,22H,1CH ; D
04D2 1C
04D3 7F494949 =1 825 DB 7FH,49H,49H,49H,41H ; E
04D7 41
04D8 7F484848 =1 826 DB 7FH,48H,48H,48H,40H ; F
04DC 40
04DD 3E414949 =1 827 DB 3EH,41H,49H,49H,2FH ; G
04E1 2F
04E2 7F080808 =1 828 DB 7FH,08H,08H,08H,7FH ; H
04E6 7F
04E7 00417F41 =1 829 DB 00H,41H,7FH,41H,00H ; I
04EB 00
04EC 0201417E =1 830 DB 02H,01H,41H,7EH,40H ; J
04F0 40
04F1 7F081422 =1 831 DB 7FH,08H,14H,22H,41H ; K
04F5 41
04F6 7F010101 =1 832 DB 7FH,01H,01H,01H,01H ; L
04FA 01
04FB 7F201820 =1 833 DB 7FH,20H,18H,20H,7FH ; M
04FF 7F
0500 7F100804 =1 834 DB 7FH,10H,08H,04H,7FH ; N
0504 7F
0505 3E414141 =1 835 DB 3EH,41H,41H,41H,3EH ; O
0509 3E
050A 7F484848 =1 836 DB 7FH,48H,48H,48H,30H ; P
050E 30
050F 3E414542 =1 837 DB 3EH,41H,45H,42H,3DH ; Q
0513 3D
0514 7F484C4A =1 838 DB 7FH,48H,4CH,4AH,31H ; R
0518 31
0519 31494949 =1 839 DB 31H,49H,49H,49H,46H ; S
051D 46
051E 40407F40 =1 840 DB 40H,40H,7FH,40H,40H ; T
0522 40
0523 7E010101 =1 841 DB 7EH,01H,01H,01H,7EH ; U
0527 7E
0528 7C020102 =1 842 DB 7CH,02H,01H,02H,7CH ; V
052C 7C
A51 MACRO ASSEMBLER RB 23/07/99 16:57:48 PAGE 15
052D 7E010E01 =1 843 DB 7EH,01H,0EH,01H,7EH ; W
0531 7E
0532 63140814 =1 844 DB 63H,14H,08H,14H,63H ; X
0536 63
0537 70080708 =1 845 DB 70H,08H,07H,08H,70H ; Y
053B 70
053C 43454951 =1 846 DB 43H,45H,49H,51H,61H ; Z
0540 61
0541 007F4141 =1 847 DB 00H,7FH,41H,41H,00H ; [
0545 00
0546 7F414141 =1 848 DB 7FH,41H,41H,41H,7FH ; []
054A 7F
054B 0041417F =1 849 DB 00H,41H,41H,7FH,00H ; ]
054F 00
0550 10204020 =1 850 DB 10H,20H,40H,20H,10H ; ^
0554 10
0555 01010101 =1 851 DB 01H,01H,01H,01H,01H ; _
0559 01
055A 00402010 =1 852 DB 00H,40H,20H,10H,00H ; \
055E 00
055F 02151515 =1 853 DB 02H,15H,15H,15H,0FH ; a
0563 0F
0564 7F091111 =1 854 DB 7FH,09H,11H,11H,0EH ; b
0568 0E
0569 0E111111 =1 855 DB 0EH,11H,11H,11H,02H ; c
056D 02
056E 0E111109 =1 856 DB 0EH,11H,11H,09H,7FH ; d
0572 7F
0573 0E151515 =1 857 DB 0EH,15H,15H,15H,0CH ; e
0577 0C
0578 083F4840 =1 858 DB 08H,3FH,48H,40H,20H ; f
057C 20
057D 18252525 =1 859 DB 18H,25H,25H,25H,3EH ; g
0581 3E
0582 7F081010 =1 860 DB 7FH,08H,10H,10H,0FH
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -