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

📄 business_fn.med

📁 calculator code ,use toshibaor nec LSI
💻 MED
📖 第 1 页 / 共 5 页
字号:
 =1   662       ;V3.00S_TAX		equ	0x12		;'% '
 =1   663       ;V3.00S_PRN		equ	0x62		;'<> '
 =1   664       ;V3.00S_EUR		equ	0x22		;'  '
 =1   665       ;V3.00S_EUEQ		equ	0xc2		;'= '
 =1   666       ;V3.00S_COST		equ	0x2b		;' C'
 =1   667       ;V3.00S_SELL		equ	0x26		;' <>'
 =1   668       ;V3.00S_M		equ	0x2a		;' M'
 =1   669       ;V3.00S_MARG		equ	0xa1		;'M%'
 =1   670       ;V3.00S_PERMARG	equ	0x1a		;'%M'
 =1   671       ;V3.00S_TAXA		equ	0x27		;' *'
 =1   672       ;V3.00S_ICG		equ	0x29		;' G'
 =1   673       ;V3.00S_ICGV		equ	0x29		;' G'
 =1   674       ;V3.00S_ICM		equ	0x2a		;' M'
 =1   675       ;V3.00S_ASM		equ	0x7a		;'*M'
 =1   676       ;V3.00S_ASC		equ	0x7b		;'*C'
 =1   677       ;V3.00S_ASDL		equ	0x78		;'*'+delta
 =1   678       ;V3.00S_MIPL		equ	0x03		;'-+'	
 =1   679       ;V3.00S_MIMI		equ	0x00		;'--'
 =1   680       ;V3.00S_MIST		equ	0x06		;'-S'
 =1   681       ;V3.00S_MITL		equ	0x07		;'-T'
 =1   682       ;V3.00S_EUROS		equ	0x29		;' euro'
 =1   683       ;V3.00S_G		equ	0x9f		;'G '
 =1   684       ;V3.00S_GPL		equ	0x93		;'G+'
 =1   685       ;V3.00S_GAST		equ	0x97		;'G*'
 =1   686       ;==============================================================================
 =1   687       P_SPC	equ	0x20	;for print " "
 =1   688       ;-----------------------------------------------------------
 =1   689       ;interrupt enable flag set:
 =1   690       
 =1   691       EF4		equ	4;(EIRL).4 /INT0
 =1   692       EF5		equ	5;(EIRL).5 INTTC1
 =1   693       EF6		equ	6;(EIRL).6 INT1
 =1   694       EF7		equ	7;(EIRL).7 INTTBT
 =1   695       EF8		equ	0;(EIRH).0 INTTC3
 =1   696       EF9		equ	1;(EIRH).1 INTSIO(High speed SIO interrupt)
 =1   697       EF10		equ	2;(EIRH).2 INTTC4
 =1   698       EF11		equ	3;(EIRH).3 INT3
 =1   699       EF12		equ	4;(EIRH).4 INT4
 =1   700       EF13		equ	5;(EIRH).5 INTTC2
 =1   701       EF14		equ	6;(EIRH).6 /INT5
 =1   702       EF15		equ	7;(EIRH).7 INTADC or INT2
 =1   703       ;interrupt request flag set:
 =1   704       IL2		equ	2;(ILL).2 INTSWI 
 =1   705       IL3		equ	3;(ILL).3 INTATRAP
 =1   706       IL4		equ	4;(ILL).4 /INT0
 =1   707       IL5		equ	5;(ILL).5 INTTC1
 =1   708       IL6		equ	6;(ILL).6 INT1
 =1   709       IL7		equ	7;(ILL).7 INTTB
 =1   710       IL8		equ	0;(ILH).0 INTTC3
 =1   711       IL9		equ	1;(ILH).1 INTSIO
 =1   712       IL10		equ	2;(ILH).2 INTTC4
 =1   713       IL11		equ	3;(ILH).3 INT3
 =1   714       IL12		equ	4;(ILH).4 INT4
 =1   715       IL13		equ	5;(ILH).5 INTTC2
 =1   716       IL14		equ	6;(ILH).6 /INT5
 =1   717       IL15		equ	7;(ILH).7 INTADC or /INT2
 =1   718       ;	DBR_LCD_RATE		equ	(0x0f33<<4)+5	;LCD DBR matrix point for "RATE"
 =1   719       ;	DBR_LCD1235_RATE	equ	(0x0f33<<4)+3	;LCD DBR matrix point for "RATE"
 =1   720       ;	DBR_LCD1297_RATE	equ	(0x0f33<<4)+4	;LCD DBR matrix point for "RATE"
 =1   721       ;	DBR_LCD120_RATE		equ	(0x0f33<<4)+4	;LCD DBR matrix point for "RATE"
 =1   722       ;	DBR_LCD1297_GT		equ	(0x0f32<<4)+2	;LCD DBR matrix point for "GT"
 =1   723       ;	;LCD_PRN		equ	(0x0f31<<4)+3	;LCD DBR matrix point for "PRINT"
 =1   724       ;	;LCD_FIN		equ	(0x0f30<<4)+3	;LCD DEB matrix point for "FIN"
 =1   725       
 =1   726       AUTOOFFTIME	equ	31250;1500
      727       	$list
      728       
      729       	public	tax_plus,tax_minus,cost_key,sell_key,margin_key,tax_save,tax_recall,kychk_clcsm;wk_prn_2L
      730       	public	rate_key,euro_key,local_key,check_dp_over2,rate_ten_key;,keychk_amortize
      731       	public	euro_display,eurate_minus_key,eurate_plus_key,init_rate_dispaly,fix_euro_to_ten
      732       	public	tax2_plus,tax2_minus,tax_plus,tax_minus,tax_plus_a,tax12_plus,tax12_minus,tax_minus_a
      733       	public	keep_ten_6dig,euro_rate_recall_x,euro_set_sub
      734       	extern	function_end,no_operation,wk_round_0
      735       	extern	mem2_plus,mem2_minus,move_to_ten
      736       	extern	edit_prn	;V2.08
      737       	public	tax_plus_x,tax_minus_x	;V2.18
      738       	public	rate_ten_key_01,fix_euro_to_ten,euro_print
      739       	extern	euro_fix_rate_tbl,wk_print9
      740       	public	rate_ten_key_01	;V4.12
      741       
      742       ROM	section	code
      743       RATE_HOLD_TIM	equ	150
      744       ;===============================================================================
      745       ;		RATE key
      746       ;===============================================================================
      747       rate_ten_key:
      748       		cmp	(KEYIN),K_ZERO2
      749       		j	ge,no_operation
      751 +1    	ld	wa,F_TNKEY
      752 +1    	test	(F_TNKEY>>4).a		;bit -reverse-> jump status
      753 +1    	j	t,rate_ten_key_00y		;if jump status is 1 -> branch
      754       		ld	hl,TENKEY		;V3.07
      755       		call	_zerock			;V3.07
      756       		j	eq,rate_ten_key_01	;V3.07
      757       rate_ten_key_00y:
      759 +1    	ld	wa,EURO_PROG
      760 +1    	clr	(EURO_PROG>>4).a
      762 +1    	ld	wa,F_COUNTRY
      763 +1    	test	(F_COUNTRY>>4).a		;bit -reverse-> jump status
      764 +1    	j	t,rate_ten_key_0		;if jump status is 1 -> branch
      766 +1    	ld	wa,F_COUNTRY
      767 +1    	clr	(F_COUNTRY>>4).a
      768       ;V4.18		ld	w,(COUNTRY_TEN)
      769       ;V4.18		ld	a,10
      770       ;V4.18		mul	w,a
      771       ;V4.18		clr	cf
      772       		ld	a,(COUNTRY_TEN)	;V4.18
      773       		add	a,(KEYIN)
      774       		ld	(COUNTRY_TEN),a		;get country code
      775       		cmp	(COUNTRY_TEN),17
      776       		j	ge,rate_ten_key_00
      778 +1    	ld	wa,EURO_PROG
      779 +1    	set	(EURO_PROG>>4).a
      781 +1    	ld	wa,F_TNKEY
      782 +1    	test	(F_TNKEY>>4).a		;bit -reverse-> jump status
      783 +1    	j	f,rate_ten_key_000		;if jump status is 0 -> branch
      784       		cmp	(COUNTRY_TEN),12
      785       		j	ge,rate_ten_key_00x
      786       
      787       		call	fix_euro_to_ten
      788       
      789       		jp	rate_ten_key_001
      790       rate_ten_key_00x:
      791       		ld	a,(COUNTRY_TEN)
      792       		set	cf
      793       		sub	a,12
      794       		call	ee_to_ten
      795       		call	keep_ten_6dig
      796       		jp	rate_ten_key_001
      797       
      798       rate_ten_key_000:
      799       
      800       		cmp	(COUNTRY_TEN),12
      801       		j	lt,rate_ten_key_00
      802       rate_ten_key_001:
      803       		call	euro_display
      804       		jp	rate_key_end
      805       
      806       rate_ten_key_00:
      807       		ld	a,(KEYIN)
      808       		ld	(DISP+6),a
      809       ;V4.17		j	rate_ten_key_01
      810       		j	rate_ten_key_01x	;V4.17
      811       rate_ten_key_0:
      813 +1    	ld	wa,F_TNKEY
      814 +1    	test	(F_TNKEY>>4).a		;bit -reverse-> jump status
      815 +1    	j	f,rate_ten_key_0x		;if jump status is 0 -> branch
      816       		ld	a,(KEYIN)
      817       		jp	rate_ten_key_0y
      818       rate_ten_key_0x:
      819       		ld	hl,TENKEY		;V3.06
      820       		call	_zerock			;V3.06
      821       		j	eq,rate_ten_key_01	;V3.06
      822       		ld	a,(KEYIN)
      823       	;	cmp	a,1
      824       	;	j	lt,rate_ten_key_01
      825       rate_ten_key_0y:
      826       		ld	(DISP+5),a
      827       		ld	(DISP+6),D_SPC
      828       		ld	w,a		;V4.18
      829       		ld	a,10		;V4.18
      830       		mul	w,a		;V4.18
      831       		ld	(COUNTRY_TEN),a	;V4.18
      832       		cmp	a,17		;V4.18
      833       ;V4.18		cmp	a,2
      834       		j	lt,rate_ten_key_1
      835       		j	rate_ten_key_01x	;V4.17
      836       rate_ten_key_01:
      837       		ld	hl,TENKEY		;V4.12
      838       		call	_zerock			;V4.12
      839       		j	nz,rate_ten_key_01x	;V4.12
      840       		call	ten_clear		;V4.12
      841       ;		@CLB	(F_TNKEY)		;V4.12
      843 +1    	ld	wa,F_DPIN
      844 +1    	clr	(F_DPIN>>4).a
      845       ;		@CLB	(F_MIN_TRA)		;V4.12
      846       		ld	(TEN_CT),0		;V4.12
      847       		ld	(DT_CT),0		;V4.12
      848       		call	spc_disp		;V4.12
      849       		ld	hl,TENKEY		;V4.12
      850       		call	edit_disp		;V4.12
      851       rate_ten_key_01x:				;V4.12
      853 +1    	ld	wa,F_CALER
      854 +1    	set	(F_CALER>>4).a
      856 +1    	ld	wa,ICON_E
      857 +1    	set	(ICON_E>>4).a
      858       		ld	a,(KEYIN)	;V4.12a
      859       		ld	(PRE_KEY),a	;V4.12a
      860       		j	rate_key_end_99
      861       rate_ten_key_1:
      862       		ld	(COUNTRY_TEN),a
      864 +1    	ld	wa,F_COUNTRY
      865 +1    	set	(F_COUNTRY>>4).a
      866       		j	rate_key_end_99
      867       		;------------------------------
      868       fix_euro_to_ten:
      869       		ld	w,(COUNTRY_TEN)
      870       		ld	a,8
      871       		mul	w,a
      872       		ld	c,a
      873       		ld	b,0
      874       		ld	ix,euro_fix_rate_tbl
      875       		clr	cf
      876       		add	ix,bc
      877       		call	move_to_ten
      878       		ld	hl,TENKEY
      879       		call	stg_sfr49
      880       		ld	hl,TENKEY
      881       		call	stg_sfr49
      882       		ret
      883       ;====================================================================
      884       rate_key:
      885       		ld	a,(FLG_E)			;V3.04
      886       		or	a,(FLG_C)			;V3.04
      887       		and	a,0y01111111			;V3.04
      888       		j	ne,no_operation			;V3.04
      889       		cmp	(PRE_KEY),K_PLS
      890       		j	eq,no_operation
      891       		cmp	(PRE_KEY),K_MIN
      892       		j	eq,no_operation
      894 +1    	ld	wa,EURO_PROG
      895 +1    	test	(EURO_PROG>>4).a		;bit -reverse-> jump status
      896 +1    	j	f,no_operation		;if jump status is 0 -> branch
      898 +1    	ld	wa,F_COUNTRY
      899 +1    	test	(F_COUNTRY>>4).a		;bit -reverse-> jump status
      900 +1    	j	f,no_operation		;if jump status is 0 -> branch
      901       
      902       		cmp	(PRE_KEY),K_EURO_LOCAL_TAX_DUM
      903       		j	ne,rate_key_0
      904       		call	ten_clear
      905       		jp	rate_key_enter_rate_mode
      906       rate_key_0:
      908 +1    	ld	wa,F_TNKEY
      909 +1    	test	(F_TNKEY>>4).a		;bit -reverse-> jump status
      910 +1    	j	f,rate_key_1		;if jump status is 0 -> branch
      911       		ld	hl,TENKEY
      912       		call	_zerock
      913       		j	ne,no_operation
      914       		ld	a,(TENKEY+OFF_DP)
      915       		j	ne,no_operation
      917 +1            test	(FLG_MODE).2
      918 +1    	j	t,rate_key_1
      919       		test	(TEN_S).0	;V4.12
      920       		j	f,no_operation	;V4.12
      921       ;V3.01		call	ten_clear		;V1.26
      922       rate_key_1:
      924 +1    	ld	wa,F_RATE
      925 +1    	set	(F_RATE>>4).a
      926       		ld	a,(TENKEY)
      927       		j	ne,rate_key_2
      928       		call	ten_to_w1
      929       		call	w2_clear
      930       		ld	(W2+4),0x01	;set w2=1000000
      931       		xor	(W2_S),1
      932       		call	calc_add
      933       		test	(W1_S).0
      934       		j	f,rate_key_enter_rate_mode
      935       rate_key_2:
      937 +1    	ld	wa,ICON_E
      938 +1    	set	(ICON_E>>4).a
      940 +1    	ld	wa,F_CALER
      941 +1    	set	(F_CALER>>4).a
      942       		call	ten_clear
      943       		ld	a,(KEYIN)	;V4.17
      944       		ld	(PRE_KEY),a	;V4.17
      945       		jp	rate_key_end_9
      946       rate_key_enter_rate_mode:
      948 +1    	ld	wa,F_RATE
      949 +1    	set	(F_RATE>>4).a
      950       		call	to_dec_ten_digit
      951       ;V3.01		@CLB	(RATE_PROG)	;V1.09
      952       ;V3.01		@CLB	(EURO_PROG)	;V1.09
      953       ;V4.13		@CLB	(M_TX2)		;V2.07
      954       ;V4.13		@CLB	(M_TX1)		;V2.07
      955       ;V1.30		@SEB	(SW_RAT_RT)
      956       		ld	(DW_CT),RATE_HOLD_TIM
      957       ;V1.09		@BBS	(F_RATE,no_operation)
      958       
      959       rate_key_end_9:
      960       		call	spc_disp
      961       		ld	hl,TENKEY

⌨️ 快捷键说明

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