📄 testn8.lst
字号:
732 01B6 21 REF RSMB_MemMapIO ; Select Memory Bank
733 01B7 81 7C LD EA,#01111100b ; Enable T/C0
734 01B9 CD 90 LD TMOD0,EA ; clear TCNT0 & Restart
735 01BB FE 8C BITR IRQT0 ; Clear Timer/Counter Request Flag
736 ;^*********************************^
737
738 01BD 20 REF RSMB_Variable ;
739 01BE 81 57 LD EA,#DischargeDelay
740
741 01C0 DischargePeriod8
742 01C0 CD 5E LD CntTCNT,EA ;
743 01C2 FE 8C BITR IRQT0 ; Clear Timer/Counter Request Flag
744 01C4 77 REF RIRET_SB ;
745
746 ;============================================================================
747
748 ;***********************************************************
749 ; F: Chk MaB key
750 ; I: KeyKGLB, KeyFlozML, KeyHold, KeyHeldNow
751 ;
752 01C5 ChkMaBkey
753 01C5 C2 21 BTSF KeyHeldNow ; if key held, exit
754 01C7 C5 RET ;
755 01C8 8C 75 LD A,MaB_Key ;
756 01CA 48 DECS A ;
757 01CB 11 JR ChkMaBkey1 ;
758 01CC C5 RET ;
759 01CD ChkMaBkey1
760 01CD F3 26 BTST IdleBatLowNow ; if battery low now, skip
761 01CF 14 JR ChkMaBkey2 ;
762 01D0 B0 LD A,#0 ;
763 01D1 89 75 LD MaB_Key,A ;
764 01D3 C5 RET
765 01D4 ChkMaBkey2
766 01D4 EA E9 CALLS Dly60 ; Key delay 600ms
767 01D6 C2 75 BTSF KeyKGLB ;
768 01D8 19 JR MaB_KGLB ;
769
770 01D9 E2 75 BTSF KeyHold ;
771 01DB 92 0E JPS MaB_Hold ;
772
773 01DD D2 75 BTSF KeyFlozML ;
774 01DF 91 FE JPS MaB_FlozML
775 01E1 C5 RET ;
776
777 ;***********************************************************
778 ; F: kg/lb button
779 ; O: KeyKGLB
780 ; N: MaB
781 ;
782 01E2 MaB_KGLB
783 01E2 E2 21 BTSF CntDspNow ; if CntDspNow = 1, exit
784 01E4 C5 RET ;
785 01E5 C0 75 BITR KeyKGLB ;
786
787 01E7 E2 24 BTSF HoldEn ; if hold enable, no funciton
788 01E9 C5 RET
789
790 01EA SetSolMeasure
791 01EA F3 20 BTST SolLiqMode ;
792 01EC 91 F1 JPS SetUnit ;
793 01EE F0 20 BITR SolLiqMode ; Set Solid mode
794 01F0 17 JR RstMode ;
795 01F1 SetUnit
796 01F1 E7 SCF ;
797 01F2 83 20 LD HL,#OperFlg1 ;
798 01F4 F7 20 BXOR C,@H+UnitMode ; switch % g/lb
799 01F6 FC 20 LDB @H+UnitMode,C ;
800
801 01F8 RstMode
802 01F8 EA B3 CALLS SetFactoryMode ;
803 01FA 63 REF RSetBnd ;
804
805 01FB EF EC CALLS MainCalculate2 ;
806 01FD C5 RET
807 ;-----------------------------------
808 ; F: fl.oz/ml button
809 ; O: SolLiqMode, UnitMode
810 ; N: MaB
811 ;
812 01FE MaB_FlozML
813 01FE E2 21 BTSF CntDspNow ; if CntDspNow = 1, exit
814 0200 C5 RET ;
815 0201 D0 75 BITR KeyFlozML ;
816
817 0203 E2 24 BTSF HoldEn ; if hold enable, no funciton
818 0205 C5 RET
819
820 0206 SetLiqMeasure
821 0206 F2 20 BTSF SolLiqMode ;
822 0208 91 F1 JPS SetUnit ;
823 020A F1 20 BITS SolLiqMode ; Set Liquid mode
824 020C 91 F8 JPS RstMode ;
825
826 ;--------------------------------------------------------
827 ; F: Hold key operation
828 020E MaB_Hold
829 020E E0 75 BITR KeyHold
830
831 0210 E2 24 BTSF HoldEn
832 0212 1B JR IsHoldKey2
833 0213 IsHoldKey1
834 0213 E1 24 BITS HoldEn
835 0215 C1 88 BITS Icon_Hold ; Indicate Hold is enable now
836 0217 BC LD A,#HoldChkTime ; Reset Hold check interval timer
837 0218 89 3F LD HoldTimer,A ;
838 021A B0 LD A,#0
839 021B 89 7F LD HoldState,A
840 021D 16 JR IsHoldKey3 ;
841 021E IsHoldKey2
842 021E E0 24 BITR HoldEn
843 0220 C0 88 BITR Icon_Hold ; Indicate Hold is disable
844 0222 D0 7F BITR HoldRd ; Set this flag to allow update the display
845 0224 IsHoldKey3
846 0224 C5 RET
847 ;***********************************************************
848 ; O: KeyHeldNow
849 ; N: xxxx0000 - EA : Key scan input
850 ; |||'-- Off button
851 ; ||'--- kg/lb button
852 ; |'---- fl.oz/ml button
853 ; '----- hold button
854 ;
855 0225 ChkKeyPressed
856 0225 DC F6 LD YZ,EA ;
857 0227 ED 3E CALLS SetST_RL ; reset sleep timer
858
859 0229 47 REF RSkipSRC_YZ ;
860 022A 91 10 JPS Sleep ; Off button
861 022C 47 REF RSkipSRC_YZ ;
862 022D 92 38 JPS IsKeyKGLB ; kg/lb button
863 022F 47 REF RSkipSRC_YZ ;
864 0230 92 3F JPS IsKeyFLOZML ; fl.oz/ml button
865 0232 47 REF RSkipSRC_YZ ;
866 0233 92 46 JPS IsHoldKey ; Hold key button
867
868 0235 ChkKeyPress9
869 0235 C1 21 BITS KeyHeldNow ;
870 0237 ChkKeyPressE
871 0237 C5 RET
872
873 ;***********************************************************
874 ; F: kg/lb button
875 ; O: KeyKGLB
876 ; N: MaB
877 ;
878 0238 IsKeyKGLB
879 0238 C3 21 BTST KeyHeldNow ; if key held,
880 023A C1 75 BITS KeyKGLB ;
881 023C DB 02 35 JP ChkKeyPress9 ; exit
882
883 ;***********************************************************
884 ; F: kg/lb button
885 ; O: KeyFlozML
886 ; N: MaB
887 ;
888 023F IsKeyFLOZML
889 023F C3 21 BTST KeyHeldNow ; if key held,
890 0241 D1 75 BITS KeyFlozML ;
891 0243 DB 02 35 JP ChkKeyPress9 ; exit
892
893 ;-----------------------------------
894 ; F: Hold key button
895 ; O: KeyHold
896 ; N: MaB
897 ;
898 0246 IsHoldKey
899 0246 C3 21 BTST KeyHeldNow ; if key held,
900 0248 E1 75 BITS KeyHold ;
901 024A DB 02 35 JP ChkKeyPress9 ; exit
902
903 ;====== DISPLAY ROUTINE ============================================
904
905 ;***********************************************************
906 ; F: Set NewWeightBCD & spWeightBCD to display nothing
907 ; O: NewWeightBCD[]
908 ; D: EA
909 ;
910 024D InitWeightBCD
911 024D 27 REF RLD_EA0
912 024E CD 90 LD NewWeightBCD0,EA ;
913 0250 CD 92 LD NewWeightBCD2,EA ;
914 0252 89 94 LD NewWeightBCD4,A ;
915 0254 C5 RET
916
917 ;***********************************************************
918 ; F: Clear weighting Symbol, retain low bat & timer icon
919 ; O: Iconset0, Iconset1, Iconset2
920 ; D: A
921 ;
922 0255 ClearWgtSym
923 0255 B0 LD A,#0 ; Clear decpt1, colon, g, oz
924 0256 89 86 LD Iconset0,A ; Clear lb, kg, decpt2, low bat
925 0258 89 87 LD Iconset1,A ;
926 025A 8C 89 LD A,Iconset3 ; Clear one, decpt3
927 025C DD 12 AND A,#0010b ; retain tare icon
928 025E 89 89 LD Iconset3,A ;
929 0260 8C 88 LD A,Iconset2 ; Clear S2, fl., ml
930 0262 DD 11 AND A,#0001b ; retain Hold icon
931 0264 89 88 LD Iconset2,A ;
932 0266 C5 RET
933
934 ;***********************************************************
935 ; F: Display Version Number
936 ; O: NULL
937 ;
938 ;
939 0267 DspVerNo
940 0267 DB 42 9F CALL DspWeightTare ; Clear Display
941 026A 81 05 LD EA,#LDsp_5 ; Display Samsung II
942 026C CD 54 LD LDigit1xxx,EA ;
943 026E 81 02 LD EA,#LDsp_2 ;
944 0270 CD 52 LD LDigitx1xx,EA ;
945
946 0272 81 01 LD EA,#VerD1 ; Display Version
947 0274 35 REF RLD_LDIGxx1xEA ;
948 0275 81 08 LD EA,#VerD2 ;
949 0277 34 REF RLD_LDIGxxx1EA ;
950 0278 55 REF RDsp4LDigit ; Display ???? Digits
951 0279 C5 RET
952
953 ;***********************************************************
954 ; F: Display Overload - " EE"
955 ; O: SDigitx_8
956 ; LDigit1xxx, LDigitx1xx, LDigitxx1x, LDigitxxx1
957 ;
958 027A DspADInitErr
959 027A 81 0E DspEE LD EA,#LDsp_E ; Display "EE" when A/D init error
960 027C 34 REF RLD_LDIGxxx1EA ;
961 027D 1B JR DspHILO ;
962
963 ;***********************************************************
964 ; F: Display Overload - " LO "
965 ; O: SDigitx_8
966 ; LDigit1xxx, LDigitx1xx, LDigitxx1x, LDigitxxx1
967 ;
968 027E 81 00 DspLO LD EA,#LDsp_O ;
969 0280 34 REF RLD_LDIGxxx1EA ;
970 0281 81 11 LD EA,#LDsp_L ;
971 0283 15 JR DspHILO ;
972
973 ;***********************************************************
974 ; F: Display Overload - " HI "
975 ; O: SDigitx_8
976 ; LDigit1xxx, LDigitx1xx, LDigitxx1x, LDigitxxx1
977 ;
978 0284 81 01 DspHI LD EA,#LDsp_I ;
979 0286 34 REF RLD_LDIGxxx1EA ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -