⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 business_fn.lst

📁 calculator code ,use toshibaor nec LSI
💻 LST
📖 第 1 页 / 共 5 页
字号:
00000213  E00007               R +0  864    864 	cmp	a,(TEN_CT)
00000216  DB09                   +0  865    865 	j	ge,keep_ten_6dig_0
00000218  22                     +0  866    866 	inc	c
00000219  EA6708                 +0  867    867 	cmp	c,8
0000021C  DB03                   +0  868    868 	j	ge,keep_ten_6dig_0
0000021E  FE0000               R +0  869    869 	jp	keep_ten_6dig_x
00000221                         +0  870    870 keep_ten_6dig_0:
00000221  070006               R +0  871    871 	cmp	(TEN_CT),6
00000224  DA22                   +0  872    872 	j	lt,to_inc_ten_digit
00000226                         +0  873    873 to_dec_ten_digit:
00000226  070007               R +0  874    874 	cmp	(TEN_CT),7
00000229  DA30                   +0  875    875 	j	lt,keep_ten_6dig_end
0000022B  DD0D                   +0  876    876 	j	gt,to_dec_ten_digit_1
0000022D  070006               R +0  877    877 	cmp	(TEN_DP),6
00000230  D908                   +0  878    878 	j	ne,to_dec_ten_digit_1
00000232  4B0000               R +0  879    879 	ld	hl,TENKEY+1
00000235  FD0000               R +0  880    880 	call	test_zero_before_dp
00000238  DB21                   +0  881    881 	j	cc,keep_ten_6dig_end
0000023A                         +0  882    882 to_dec_ten_digit_1:
0000023A  4B0000               R +0  883    883 	ld	hl,TENKEY
0000023D  FD0000               R +0  884    884 	call	stg_sfr47
00000240  E000F8               R +0  885    885 	dec	(TENKEY+8)
00000243  E000F8               R +0  886    886 	dec	(TEN_CT)
00000246  DDDE                   +0  887    887 	j	gt,to_dec_ten_digit
                                 +0  888    888 	
00000248                         +0  889    889 to_inc_ten_digit:
00000248  070006               R +0  890    890 	cmp	(TEN_CT),6
0000024B  DB0E                   +0  891    891 	j	ge,keep_ten_6dig_end
0000024D  4B0000               R +0  892    892 	ld	hl,TENKEY
00000250  FD0000               R +0  893    893 	call	stg_sfl47
00000253  E000F0               R +0  894    894 	inc	(TENKEY+8)
00000256  E000F0               R +0  895    895 	inc	(TEN_CT)
00000259  FCED                   +0  896    896 	j	to_inc_ten_digit
                                 +0  897    897 
0000025B                         +0  898    898 keep_ten_6dig_end:
0000025B  FA                     +0  899    899 	ret
                                 +0  900    900 ;-----------------------------------------
0000025C                         +0  901    901 test_zero_before_dp:
0000025C  1A00                   +0  902    902 	ld	c,0
0000025E  190E                   +0  903    903 	ld	w,14
00000260                         +0  904    904 test_zero_before_dp_s:
00000260  E740                   +0  905    905 	ld	a,(hl+c)
00000262  64F0                   +0  906    906 	and	a,0xf0
00000264  D918                   +0  907    907 	j	ne,test_zero_before_dp_1
00000266  29                     +0  908    908 	dec	w
00000267  D7000F               R +0  909    909 	cmp	w,(hl+OFF_DP-1)
0000026A  D810                   +0  910    910 	j	eq,test_zero_before_dp_0
0000026C  E740                   +0  911    911 	ld	a,(hl+c)
0000026E  640F                   +0  912    912 	and	a,0x0f
00000270  D90C                   +0  913    913 	j	ne,test_zero_before_dp_1
00000272  29                     +0  914    914 	dec	w
00000273  D7000F               R +0  915    915 	cmp	w,(hl+OFF_DP-1)
00000276  D804                   +0  916    916 	j	eq,test_zero_before_dp_0
00000278  22                     +0  917    917 	inc	c
00000279  FE0000               R +0  918    918 	jp	test_zero_before_dp_s
0000027C                         +0  919    919 test_zero_before_dp_0:
0000027C  04                     +0  920    920 	clr	cf
0000027D  FA                     +0  921    921 	ret
0000027E                         +0  922    922 test_zero_before_dp_1:
0000027E  05                     +0  923    923 	set	cf
0000027F  FA                     +0  924    924 	ret
                                 +0  925    925 ;-----------------------------------------
                                 +0  926    926 ;V2.08
00000280                         +0  927    927 check_dp_over_slid:
00000280  D70040               R +0  928    928 	ld	a,(hl+OFF_DP)
00000283  E00007               R +0  929    929 	cmp	a,(DP_POS)
00000286                         +0  930    930 check_dp_over_slid_0:
00000286  DB27                   +0  931    931 	j	ge,check_dp_over_slid_end
00000288  D70045               R +0  932    932 	ld	d,(hl+OFF_MSD)
0000028B  480000               R +0  933    933 	ld	wa,M14
0000028E  E10000FC             R +0  934    934 	test	(M14>>4).a		;bit -reverse-> jump status
00000292  AD                     +0  935    935 	j	f,check_dp_over_slid_1		;if jump status is 0 -> branch
00000293  D70045               R +0  936    936 	ld	d,(hl+OFF_MSD12)	;V1.21
00000296  480000               R +0  937    937 	ld	wa,M10
00000299  E10000FC             R +0  938    938 	test	(M10>>4).a		;bit -reverse-> jump status
0000029D  82                     +0  939    939 	j	t,check_dp_over_slid_1		;if jump status is 1 -> branch
0000029E  D70045               R +0  940    940 	ld	d,(hl+OFF_MSD10)	;V1.21
000002A1                         +0  941    941 check_dp_over_slid_1:			;V1.21
000002A1  ED64F0                 +0  942    942 	and	d,0xf0
000002A4  D909                   +0  943    943 	j	nz,check_dp_over_slid_end
000002A6  D700F0               R +0  944    944 	inc	(hl+OFF_DP)
000002A9  FD0000               R +0  945    945 	call	stg_sfl47
000002AC  FE0000               R +0  946    946 	jp	check_dp_over_slid
000002AF                         +0  947    947 check_dp_over_slid_end:
000002AF  FA                     +0  948    948 	ret
                                 +0  949    949 ;V2.08
                                 +0  950    950 ;=================================
000002B0                         +0  951    951 check_dp_over2:
000002B0  D7006702             R +0  952    952 	cmp	(hl+OFF_DP),2
000002B4                         +0  953    953 check_dp_over2_0:
000002B4  DB27                   +0  954    954 	j	ge,check_dp_over2_end
000002B6  D70045               R +0  955    955 	ld	d,(hl+OFF_MSD)
000002B9  480000               R +0  956    956 	ld	wa,M14
000002BC  E10000FC             R +0  957    957 	test	(M14>>4).a		;bit -reverse-> jump status
000002C0  AD                     +0  958    958 	j	f,check_dp_over2_1		;if jump status is 0 -> branch
000002C1  D70045               R +0  959    959 	ld	d,(hl+OFF_MSD12)	;V1.21
000002C4  480000               R +0  960    960 	ld	wa,M10
000002C7  E10000FC             R +0  961    961 	test	(M10>>4).a		;bit -reverse-> jump status
000002CB  82                     +0  962    962 	j	t,check_dp_over2_1		;if jump status is 1 -> branch
000002CC  D70045               R +0  963    963 	ld	d,(hl+OFF_MSD10)	;V1.21
000002CF                         +0  964    964 check_dp_over2_1:			;V1.21
000002CF  ED64F0                 +0  965    965 	and	d,0xf0
000002D2  D909                   +0  966    966 	j	nz,check_dp_over2_end
000002D4  D700F0               R +0  967    967 	inc	(hl+OFF_DP)
000002D7  FD0000               R +0  968    968 	call	stg_sfl47
000002DA  FE0000               R +0  969    969 	jp	check_dp_over2
000002DD                         +0  970    970 check_dp_over2_end:
000002DD  FA                     +0  971    971 	ret
                                 +0  972    972 
000002DE                         +0  973    973 keep_2dp:
000002DE  0C00                 R +0  974    974 	ld	a,(DP_POS)
000002E0  F678                   +0  975    975 	push	a
000002E2  0A0002               R +0  976    976 	ld	(DP_POS),2
000002E5  FD0000               R +0  977    977 	call	wk_round_0
000002E8  E640                   +0  978    978 	pop	a
000002EA  0E00                 R +0  979    979 	ld	(DP_POS),a
000002EC  FA                     +0  980    980 	ret
                                 +0  981    981 
                                 +0  982    982 ;V2.06-----------------------------
000002ED                         +0  983    983 fix_round_down_keep_2dp:
000002ED  0C00                 R +0  984    984 	ld	a,(MDFLG_1)	;V2.06	keep round flag
000002EF  F678                   +0  985    985 	push	a		;v2.06
000002F1  480000               R +0  986    986 	ld	wa,SW_RNDUP
000002F4  E10000FA             R +0  987    987 	clr	(SW_RNDUP>>4).a
000002F8  480000               R +0  988    988 	ld	wa,SW_RND54
000002FB  E10000FA             R +0  989    989 	clr	(SW_RND54>>4).a
000002FF  FD0000               R +0  990    990 	call	keep_2dp
00000302  E640                   +0  991    991 	pop	a		;V2.06	
00000304  0E00                 R +0  992    992 	ld	(MDFLG_1),a	;V2.06	restore round flag 
00000306  FA                     +0  993    993 	ret
                                 +0  994    994 
00000307                         +0  995    995 fix_round_up_keep_2dp:
00000307  0C00                 R +0  996    996 	ld	a,(MDFLG_1)	;V2.06	keep round flag
00000309  F678                   +0  997    997 	push	a		;v2.06
0000030B  480000               R +0  998    998 	ld	wa,SW_RNDUP
0000030E  E10000F2             R +0  999    999 	set	(SW_RNDUP>>4).a
00000312  480000               R +0 1000   1000 	ld	wa,SW_RND54
00000315  E10000FA             R +0 1001   1001 	clr	(SW_RND54>>4).a
00000319  FD0000               R +0 1002   1002 	call	keep_2dp
0000031C  E640                   +0 1003   1003 	pop	a		;V2.06	
0000031E  0E00                 R +0 1004   1004 	ld	(MDFLG_1),a	;V2.06	restore round flag 
00000320  FA                     +0 1005   1005 	ret
                                 +0 1006   1006 ;V2.06---------------------------------------
00000321                         +0 1007   1007 tax_mark_print:
                                 +0 1008   1008 ;V3.00		@BBS	(SW_V15,tax_mark_print_0)	;V2.07
00000321  FA                     +0 1009   1009 		ret					;V2.07
                                 +0 1010   1010 ;V3.00tax_mark_print_0:					;V2.07
                                 +0 1011   1011 ;V3.00		call	spc_prnbuf
                                 +0 1012   1012 ;V3.00		ld	hl,PRN_BUF
                                 +0 1013   1013 ;V3.00		ld	a,0xcc
                                 +0 1014   1014 ;V3.00		ld	c,7
                                 +0 1015   1015 ;V3.00	whic_tax_print_1:				
                                 +0 1016   1016 ;V3.00		ld	(hl+c),a			
                                 +0 1017   1017 ;V3.00		dec	c			
                                 +0 1018   1018 ;V3.00		cmp	c,3
                                 +0 1019   1019 ;V3.00		j	f,whic_tax_print_1
                                 +0 1020   1020 ;V3.00		ld	a,0xfc			;only"." at right side 
                                 +0 1021   1021 ;V3.00		ld	(hl+c),a
                                 +0 1022   1022 ;V3.00		ld	(PRN_BUF_SYM),S_SPC
                                 +0 1023   1023 ;V3.00		ld	(PRN_BUF+5),0xc1	;for set_tax1_mark_print:
                                 +0 1024   1024 ;V3.00		@BBC	(M_TX2,whic_tax_print_end)
                                 +0 1025   1025 ;V3.00		@BBC	(M_TX1,to_tax2_mark_print)	;V2.07
                                 +0 1026   1026 ;V3.00		ld	(PRN_BUF+5),0x1b		;V2.07	'1,'
                                 +0 1027   1027 ;V3.00		ld	(PRN_BUF+6),0x2c		;V2.07	'2.'
                                 +0 1028   1028 ;V3.00		jp	whic_tax_print_end		;V2.07
                                 +0 1029   1029 ;V3.00to_tax2_mark_print:					;V2.07
                                 +0 1030   1030 ;V3.00		ld	(PRN_BUF+5),0xc2	;for set_tax2_mark_print:
                                 +0 1031   1031 ;V3.00whic_tax_print_end:
                                 +0 1032   1032 ;V3.00		call	print_bk
                                 +0 1033   1033 ;V3.00		ret
                                 +0 1034   1034 ;----------------------------------------------------V2.06
                                 +0 1035   1035 ;===============================================================================
00000322  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -