📄 main.ls1
字号:
649 USING 0
650 ; SOURCE LINE # 150
651 ;---- Variable 'row?140' assigned to Register 'R7' ----
652 ;---- Variable 'c?142' assigned to Register 'R6' ----
0004 AE03 653 MOV R6,AR3
654 ;---- Variable 'col?141' assigned to Register 'R5' ----
655 ; {
656 ; SOURCE LINE # 151
657 ; unsigned char v = c;
658 ; SOURCE LINE # 152
659 ;---- Variable 'v?143' assigned to Register 'R3' ----
660 ; if (c >= '0' && c <= '9')
661 ; SOURCE LINE # 153
0006 EE 662 MOV A,R6
0007 C3 663 CLR C
0008 9430 664 SUBB A,#030H
000A 400A 665 JC ?C0002
000C EE 666 MOV A,R6
000D D3 667 SETB C
000E 9439 668 SUBB A,#039H
0010 5004 669 JNC ?C0002
670 ; v = c - '0' + 1;
671 ; SOURCE LINE # 154
0012 EE 672 MOV A,R6
0013 24D1 673 ADD A,#0D1H
0015 FB 674 MOV R3,A
0016 675 ?C0002:
676 ; if (c >= 'A' && c <= 'N')
677 ; SOURCE LINE # 155
0016 EE 678 MOV A,R6
0017 C3 679 CLR C
0018 9441 680 SUBB A,#041H
001A 400A 681 JC ?C0003
001C EE 682 MOV A,R6
001D D3 683 SETB C
001E 944E 684 SUBB A,#04EH
0020 5004 685 JNC ?C0003
686 ; v = c - 'A' + 11;
687 ; SOURCE LINE # 156
0022 EE 688 MOV A,R6
0023 24CA 689 ADD A,#0CAH
0025 FB 690 MOV R3,A
0026 691 ?C0003:
692 ; if (c == 'O')
693 ; SOURCE LINE # 157
0026 BE4F02 694 CJNE R6,#04FH,?C0004
695 ; v = 1;
696 ; SOURCE LINE # 158
0029 7B01 697 MOV R3,#01H
002B 698 ?C0004:
699 ; if (c >= 'P' && c <= 'Z')
A51 MACRO ASSEMBLER MAIN 04/22/2008 15:15:43 PAGE 12
700 ; SOURCE LINE # 159
002B EE 701 MOV A,R6
002C C3 702 CLR C
002D 9450 703 SUBB A,#050H
002F 400A 704 JC ?C0005
0031 EE 705 MOV A,R6
0032 D3 706 SETB C
0033 945A 707 SUBB A,#05AH
0035 5004 708 JNC ?C0005
709 ; v = c - 'A' + 10;
710 ; SOURCE LINE # 160
0037 EE 711 MOV A,R6
0038 24C9 712 ADD A,#0C9H
003A FB 713 MOV R3,A
003B 714 ?C0005:
715 ; if (c >= 'a' && c <= 'z')
716 ; SOURCE LINE # 161
003B EE 717 MOV A,R6
003C C3 718 CLR C
003D 9461 719 SUBB A,#061H
003F 400A 720 JC ?C0006
0041 EE 721 MOV A,R6
0042 D3 722 SETB C
0043 947A 723 SUBB A,#07AH
0045 5004 724 JNC ?C0006
725 ; v = c - 'a' + 36;
726 ; SOURCE LINE # 162
0047 EE 727 MOV A,R6
0048 24C3 728 ADD A,#0C3H
004A FB 729 MOV R3,A
004B 730 ?C0006:
731 ; if (c == ' ')
732 ; SOURCE LINE # 163
004B BE2002 733 CJNE R6,#020H,?C0007
734 ; v = 0;
735 ; SOURCE LINE # 164
004E E4 736 CLR A
004F FB 737 MOV R3,A
0050 738 ?C0007:
739 ; mtv130_putd(row, col, v);
740 ; SOURCE LINE # 165
0050 020000 F 741 LJMP _mtv130_putd
742 ; END OF _disp_char
743
744 ; }
745 ;
746 ; void disp_str(char row, char col, unsigned char *str)
747
---- 748 RSEG ?PR?_disp_str?MAIN
0000 749 _disp_str:
750 USING 0
751 ; SOURCE LINE # 168
0000 8F00 F 752 MOV row?244,R7
0002 8D00 F 753 MOV col?245,R5
0004 8B00 F 754 MOV str?246,R3
0006 8A00 F 755 MOV str?246+01H,R2
0008 8900 F 756 MOV str?246+02H,R1
757 ; {
758 ; SOURCE LINE # 169
000A 759 ?C0009:
760 ; unsigned char c;
761 ; while ((c = *str++) != 0) {
762 ; SOURCE LINE # 171
000A AB00 F 763 MOV R3,str?246
000C 0500 F 764 INC str?246+02H
000E E500 F 765 MOV A,str?246+02H
A51 MACRO ASSEMBLER MAIN 04/22/2008 15:15:43 PAGE 13
0010 AA00 F 766 MOV R2,str?246+01H
0012 7002 767 JNZ ?C0190
0014 0500 F 768 INC str?246+01H
0016 769 ?C0190:
0016 14 770 DEC A
0017 F9 771 MOV R1,A
0018 120000 F 772 LCALL ?C?CLDPTR
773 ;---- Variable 'c?247' assigned to Register 'R1' ----
001B F9 774 MOV R1,A
001C 600C 775 JZ ?C0011
776 ; disp_char(row, col, c);
777 ; SOURCE LINE # 172
001E FB 778 MOV R3,A
001F AD00 F 779 MOV R5,col?245
0021 AF00 F 780 MOV R7,row?244
0023 120000 F 781 LCALL _disp_char
782 ; col += 1;
783 ; SOURCE LINE # 173
0026 0500 F 784 INC col?245
785 ; }
786 ; SOURCE LINE # 174
0028 80E0 787 SJMP ?C0009
788 ; }
789 ; SOURCE LINE # 175
002A 790 ?C0011:
002A 22 791 RET
792 ; END OF _disp_str
793
794 ;
795 ; void disp_str2(char row, char col, unsigned char code *str, unsigned char color)
796
---- 797 RSEG ?PR?_disp_str2?MAIN
0000 798 _disp_str2:
799 USING 0
800 ; SOURCE LINE # 177
0000 8F00 F 801 MOV row?348,R7
0002 8A00 F 802 MOV str?350,R2
0004 8B00 F 803 MOV str?350+01H,R3
804 ;---- Variable 'col?349' assigned to Register 'R1' ----
0006 A905 805 MOV R1,AR5
806 ; {
807 ; SOURCE LINE # 178
0008 808 ?C0012:
809 ; unsigned char c;
810 ; while ((c = *str++) != 0) {//先加地址,再取里面的数据。
811 ; SOURCE LINE # 180
0008 0500 F 812 INC str?350+01H
000A E500 F 813 MOV A,str?350+01H
000C AE00 F 814 MOV R6,str?350
000E 7002 815 JNZ ?C0191
0010 0500 F 816 INC str?350
0012 817 ?C0191:
0012 14 818 DEC A
0013 F582 819 MOV DPL,A
0015 8E83 820 MOV DPH,R6
0017 E4 821 CLR A
0018 93 822 MOVC A,@A+DPTR
0019 F500 F 823 MOV c?352,A
001B 6014 824 JZ ?C0014
825 ; disp_char(row, col, c);
826 ; SOURCE LINE # 181
001D AD01 827 MOV R5,AR1
001F FB 828 MOV R3,A
0020 AF00 F 829 MOV R7,row?348
0022 120000 F 830 LCALL _disp_char
831 ; mtv130_puta(row, col, color);
A51 MACRO ASSEMBLER MAIN 04/22/2008 15:15:43 PAGE 14
832 ; SOURCE LINE # 182
0025 AD01 833 MOV R5,AR1
0027 AB00 F 834 MOV R3,color?351
0029 AF00 F 835 MOV R7,row?348
002B 120000 F 836 LCALL _mtv130_puta
837 ; col += 1;
838 ; SOURCE LINE # 183
002E 09 839 INC R1
840 ; }
841 ; SOURCE LINE # 184
002F 80D7 842 SJMP ?C0012
843 ; }
844 ; SOURCE LINE # 185
0031 845 ?C0014:
0031 22 846 RET
847 ; END OF _disp_str2
848
849 ;
850 ; void disp_str3(char row, char col, unsigned char code *str)
851
---- 852 RSEG ?PR?_disp_str3?MAIN
0000 853 L?0202:
854 USING 0
0000 E4 855 CLR A
0001 93 856 MOVC A,@A+DPTR
0002 FA 857 MOV R2,A
0003 7401 858 MOV A,#01H
0005 93 859 MOVC A,@A+DPTR
0006 FB 860 MOV R3,A
0007 861 _disp_str3:
862 USING 0
863 ; SOURCE LINE # 187
864 ;---- Variable 'row?453' assigned to Register 'R7' ----
865 ;---- Variable 'str?455' assigned to Register 'R2/R3' ----
866 ;---- Variable 'col?454' assigned to Register 'R5' ----
867 ; {
868 ; SOURCE LINE # 188
869 ; disp_str(row, col, str);
870 ; SOURCE LINE # 189
0007 A903 871 MOV R1,AR3
0009 7BFF 872 MOV R3,#0FFH
000B 020000 F 873 LJMP _disp_str
874 ; END OF _disp_str3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -