📄 main.lst
字号:
0000A186 480000 R +0 832 832 ld wa,F_ICPN
0000A189 E10000FA R +0 833 833 clr (F_ICPN>>4).a
+0 834 834 ;V4.13 @CLB (F_ICDSP)
0000A18D +0 835 835 not_ic_key:
0000A18D +0 836 836 main_loop_no_check_rt:
0000A18D 480000 R +0 837 837 ld wa,F_CALER
0000A190 E10000FC R +0 838 838 test (F_CALER>>4).a ;bit -reverse-> jump status
0000A194 82FEBDA3 +0 839 839 j f,error_recov ;if jump status is 0 -> branch
+0 840 840 ;V3.00 @BBS (RTC_ON,rtc_key) ;RTC display mode? yes ->check entry key code and jump to each function
0000A198 480000 R +0 841 841 ld wa,F_RATE
0000A19B E10000FC R +0 842 842 test (F_RATE>>4).a ;bit -reverse-> jump status
0000A19F 87 +0 843 843 j t,main_kj0 ;if jump status is 1 -> branch
0000A1A0 FDD3A6 +0 844 844 call obs_key_check
0000A1A3 DB03FE23A1 +0 845 845 j cs,main_loop
+0 846 846 ;calculate each key function routin jump address.....
0000A1A8 +0 847 847 main_kj0:
0000A1A8 E1000040 R +0 848 848 ld a,(KEYIN)
0000A1AC 1A00 +0 849 849 ld c,0
0000A1AE 670B +0 850 850 cmp a,K_TEN ;if key code is Tenkey,00 or 000?
0000A1B0 DC05 +0 851 851 j le,main_kj2 ;yes ->
0000A1B2 630B +0 852 852 sub a,K_TEN ;for get function routine jump address
0000A1B4 E8F4 +0 853 853 shlc a
0000A1B6 42 +0 854 854 ld c,a ;reg.c <- table offset
0000A1B7 +0 855 855 main_kj2:
0000A1B7 4B55A7 +0 856 856 ld hl,tbl_function ;get jump address
0000A1BA E7FE +0 857 857 j (hl+c) ;jump to each function routine
+0 858 858
+0 859 859 ;===============================================================================
+0 860 860 ; Exit of function routine
+0 861 861 ;===============================================================================
0000A1BC +0 862 862 function_end:
0000A1BC E100006728 R +0 863 863 cmp (KEYIN),K_RATE ;V1.04
0000A1C1 D815 +0 864 864 j eq,function_end_0 ;V1.04
0000A1C3 480000 R +0 865 865 ld wa,F_RATE
0000A1C6 E10000FA R +0 866 866 clr (F_RATE>>4).a
0000A1CA 480000 R +0 867 867 ld wa,RATE_PROG
0000A1CD E10000FA R +0 868 868 clr (RATE_PROG>>4).a
0000A1D1 480000 R +0 869 869 ld wa,EURO_PROG
0000A1D4 E10000FA R +0 870 870 clr (EURO_PROG>>4).a
0000A1D8 +0 871 871 function_end_0: ;V1.04
0000A1D8 0A0000 R +0 872 872 ld (TEN_CT),0 ;
0000A1DB F10000F900 R +0 873 873 ld (DT_CT),0 ;#/D entry counter
0000A1E0 F10000F900 R +0 874 874 ld (DT_DOT_CNT),0 ;
0000A1E5 F10000F900 R +0 875 875 ld (DT_CHR_CNT),0 ;
0000A1EA 480000 R +0 876 876 ld wa,F_DPIN
0000A1ED E10000FA R +0 877 877 clr (F_DPIN>>4).a
0000A1F1 480000 R +0 878 878 ld wa,F_MIN_TRA
0000A1F4 E10000FA R +0 879 879 clr (F_MIN_TRA>>4).a
+0 880 880
+0 881 881 ;entry point for tenkey.................................
0000A1F8 +0 882 882 tenkey_end:
0000A1F8 E1000040 R +0 883 883 ld a,(KEYIN)
0000A1FC 0E00 R +0 884 884 ld (PRE_KEY),a ;save current key code -> PRE_KEY
0000A1FE E100006728 R +0 885 885 cmp (KEYIN),K_RATE ;V1.13
0000A203 D80F +0 886 886 j eq,shp_sgn_end ;V1.13
0000A205 480000 R +0 887 887 ld wa,RATE_PROG
0000A208 E10000FC R +0 888 888 test (RATE_PROG>>4).a ;bit -reverse-> jump status
0000A20C A6 +0 889 889 j f,shp_sgn_end ;if jump status is 0 -> branch
0000A20D 480000 R +0 890 890 ld wa,F_RATE
0000A210 E10000FA R +0 891 891 clr (F_RATE>>4).a
+0 892 892 ;entry point for # key and +/- key......................
0000A214 +0 893 893 shp_sgn_end:
0000A214 FD0000 R +0 894 894 call kychk_clcsm ;check function key whether clear C-S-M flags
0000A217 E10000670C R +0 895 895 cmp (KEYIN),K_DP ;V1.07
0000A21C DC15 +0 896 896 j le,functionnoclearftenkey ;V1.07
0000A21E E10000671D R +0 897 897 cmp (KEYIN),K_BS ;V1.24
0000A223 D80E +0 898 898 j eq,functionnoclearftenkey ;V1.24
0000A225 E10000671C R +0 899 899 cmp (KEYIN),K_SGN ;V1.36
0000A22A D807 +0 900 900 j eq,functionnoclearftenkey ;V1.36
0000A22C 480000 R +0 901 901 ld wa,F_TNKEY
0000A22F E10000FA R +0 902 902 clr (F_TNKEY>>4).a
0000A233 +0 903 903 functionnoclearftenkey: ;V1.07
+0 904 904 ;/TEST call keychk_amortize ;V1.09
0000A233 480000 R +0 905 905 ld wa,EURO_DISPLY
0000A236 E10000FA R +0 906 906 clr (EURO_DISPLY>>4).a
+0 907 907 ;entry point for FEED key(just check printer error)......................
0000A23A +0 908 908 feed_key_end:
0000A23A 480000 R +0 909 909 ld wa,P_ERR
0000A23D E10000FC R +0 910 910 test (P_ERR>>4).a ;bit -reverse-> jump status
0000A241 82FE7DA3 +0 911 911 j f,sys_error ;if jump status is 0 -> branch
0000A245 480000 R +0 912 912 ld wa,F_CALER
0000A248 E10000FC R +0 913 913 test (F_CALER>>4).a ;bit -reverse-> jump status
0000A24C 82FE7DA3 +0 914 914 j f,sys_error ;if jump status is 0 -> branch
0000A250 +0 915 915 function_end9:
0000A250 480000 R +0 916 916 ld wa,F_TNKEY
0000A253 E10000FC R +0 917 917 test (F_TNKEY>>4).a ;bit -reverse-> jump status
0000A257 BF +0 918 918 j f,function_end91 ;if jump status is 0 -> branch
+0 919 919 ;V3.00 @BBS (RTC_ON,no_operation)
0000A258 +0 920 920 function_end91: ;V1.23
0000A258 4B0000 R +0 921 921 ld hl,TENKEY
+0 922 922 ;V4.13 @BBC (F_ICDSP,function_not_isdsp) ;V1.23
+0 923 923 ;V4.13 call ic_display ;V1.23
+0 924 924 ;V4.13 jp function_end99
0000A25B +0 925 925 function_not_isdsp: ;V1.23
0000A25B FD0000 R +0 926 926 call vft_disable ;V2.10
0000A25E FD0000 R +0 927 927 call edit_disp
0000A261 +0 928 928 function_end99:
0000A261 FD0000 R +0 929 929 call disp_to_dbr ;DBR update (DISP -> DBR)
0000A264 E100006733 R +0 930 930 cmp (KEYIN),K_TAX ;V2.07
0000A269 D800 +0 931 931 j eq,no_operation ;V2.07
+0 932 932 ;V4.13 @CLB (M_TX1) ;V2.07
+0 933 933 ;V4.13 @CLB (M_TX2) ;V2.07
0000A26B +0 934 934 no_operation: ;V2.07
+0 935 935 ;V2.05 call vft_enable ;V2.01
0000A26B 480000 R +0 936 936 ld wa,F_DOFF
0000A26E E10000FA R +0 937 937 clr (F_DOFF>>4).a
0000A272 480000 R +0 938 938 ld wa,F_REVCAN
0000A275 E10000FA R +0 939 939 clr (F_REVCAN>>4).a
0000A279 FE23A1 +0 940 940 j main_loop
+0 941 941 ;==============================================================================
0000A27C +0 942 942 ic_display: ;--------V1.23
+0 943 943 ;V4.13 call spc_disp
+0 944 944 ;V4.13 @CLB (ICON_MIN) ;V1.48
+0 945 945 ;V1.39c ld a,(IC_BK)
+0 946 946 ;V4.13 ld a,(IC_BK+1) ;V1.39c
+0 947 947 ;V4.13 and a,0x0f
+0 948 948 ;V4.13 ld (DISP_LSD),a
+0 949 949 ;V1.39c ld a,(IC_BK)
+0 950 950 ;V4.13 ld a,(IC_BK+1) ;V1.39c
+0 951 951 ;V4.03 shrc a
+0 952 952 ;V4.03 shrc a
+0 953 953 ;V4.03 shrc a
+0 954 954 ;V4.03 shrc a
+0 955 955 ;V4.13 swap a ;V4.03
+0 956 956 ;V4.13 and a,0x0f ;V4.03
+0 957 957 ;V4.13 ld (DISP_LSD-1),a
+0 958 958 ;V1.39c ld a,(IC_BK+1)
+0 959 959 ;V4.13 ld a,(IC_BK) ;V1.39c
+0 960 960 ;V4.13 and a,0x0f
+0 961 961 ;V4.13 ld (DISP_LSD-2),a
+0 962 962 ;V4.13 ld (DISP_LSD-3),D_Uo
+0 963 963 ;V4.13 @BBC (SW_ICPM_RT,icp_disp)
+0 964 964 ;V4.13 ld (DISP_LSD-3),D_Lo
0000A27C +0 965 965 icp_disp:
0000A27C FA +0 966 966 ret
+0 967 967 ;-------------------------------------------
+0 968 968 ;==========================================
0000A27D +0 969 969 model_select:
0000A27D 0C00 R +0 970 970 ld a,(P0DR)
0000A27F 6403 +0 971 971 and a,0y00000011
0000A281 00 +0 972 972 nop ;V4.02
0000A282 00 +0 973 973 nop
0000A283 00 +0 974 974 nop
0000A284 00 +0 975 975 nop
0000A285 00 +0 976 976 nop
0000A286 00 +0 977 977 nop
0000A287 00 +0 978 978 nop
0000A288 E00043 R +0 979 979 ld b,(P0DR)
0000A28B EB6403 +0 980 980 and b,0y00000011
0000A28E EB07 +0 981 981 cmp a,b
0000A290 D9EB +0 982 982 j ne,model_select
0000A292 F1000078 R +0 983 983 ld (FLG_MODE),a
0000A296 +0 984 984 model_select_1: ;V4.02
0000A296 0C00 R +0 985 985 ld a,(P3PRD) ;V4.02
0000A298 6402 +0 986 986 and a,0y00000010 ;V4.02
0000A29A 00 +0 987 987 nop ;V4.02
0000A29B 00 +0 988 988 nop ;V4.02
0000A29C 00 +0 989 989 nop ;V4.02
0000A29D 00 +0 990 990 nop ;V4.02
0000A29E 00 +0 991 991 nop ;V4.02
0000A29F E00043 R +0 992 992 ld b,(P3PRD) ;V4.02
0000A2A2 EB6402 +0 993 993 and b,0y00000010 ;V4.02
0000A2A5 EB07 +0 994 994 cmp a,b ;V4.02
0000A2A7 D9ED +0 995 995 j ne,model_select_1 ;V4.02
0000A2A9 E8F4 +0 996 996 shlc a ;V4.02
0000A2AB E1000006 R +0 997 997
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -