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

📄 calinput.asm

📁 税控收款机软件。包括底层驱动和上层的应用一起。是一个完整的税控收款机软件方案
💻 ASM
📖 第 1 页 / 共 3 页
字号:
	MOV  	R3,#01H
	MOV  	R6,#01H
	LJMP 	?C?COPY
L?0499:
	USING	0
L?0500:
	MOV  	A,R5
	MOVX 	@DPTR,A
	MOV  	DPTR,#i?1286
	MOVX 	A,@DPTR
	MOV  	R6,A
	ADD  	A,#LOW (databuf+02H)
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (databuf+02H)
	RET  	
L?0501:
	USING	0
L?0502:
	MOVX 	A,@DPTR
L?0503:
	MOV  	B,#0AH
	DIV  	AB
	MOV  	A,B
	ADD  	A,#030H
	RET  	
L?0504:
	USING	0
	MOV  	R7,A
	SWAP 	A
	ANL  	A,#0FH
L?0505:
	MOVX 	@DPTR,A
	MOV  	A,R7
	ANL  	A,#0FH
	INC  	DPTR
	MOVX 	@DPTR,A
	RET  	
L?0506:
	USING	0
L?0507:
	MOVX 	A,@DPTR
	MOV  	B,#08H
	MUL  	AB
	ADD  	A,#LOW (inv_tmp_day+0FE8CH)
	MOV  	DPL,A
	MOV  	A,B
	ADDC 	A,#HIGH (inv_tmp_day+0FE8CH)
	RET  	
L?0508:
	USING	0
L?0509:
	MOVX 	A,@DPTR
	MOV  	B,#08H
	MUL  	AB
	ADD  	A,#LOW (inv_tmp_day+0FE88H)
	MOV  	DPL,A
	MOV  	A,B
	ADDC 	A,#HIGH (inv_tmp_day+0FE88H)
	RET  	
L?0510:
	USING	0
L?0511:
	MOV  	R7,A
	MOV  	A,R6
	ADDC 	A,#0FFH
	MOV  	R6,A
	MOV  	A,R5
	ADDC 	A,#0FFH
	MOV  	R5,A
	MOV  	A,R4
	ADDC 	A,#0FFH
	MOV  	R4,A
	RET  	
L?0512:
	USING	0
	MOVX 	A,@DPTR
	MOV  	R6,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R7,A
	CLR  	A
	MOV  	R4,A
	MOV  	R5,A
L?0513:
	MOV  	DPTR,#tt?2098
	LJMP 	?C?LSTXDATA
L?0515:
	USING	0
	MOV  	R7,A
	MOV  	DPTR,#inv_prn_cur_info+05H
	LCALL	?C?LSTXDATA
L?0516:
	MOV  	DPTR,#prn_page_buf+01F2H
	MOV  	A,#030H
	MOVX 	@DPTR,A
	INC  	DPTR
	INC  	A
	MOVX 	@DPTR,A
	RET  	
L?0519:
	USING	0
	MOV  	R7,A
L?0520:
	CLR  	A
	MOV  	R3,A
	MOV  	R2,A
	MOV  	R1,#0C8H
	MOV  	R0,#042H
	RET  	
L?0521:
	USING	0
	ADDC 	A,R4
L?0522:
	MOV  	DPH,A
	MOV  	A,R7
	MOVX 	@DPTR,A
	INC  	i?348
	MOV  	A,i?348
	RET  	
L?0523:
	USING	0
L?0524:
	MOV  	A,R7
	MOVX 	@DPTR,A
	MOV  	A,#LOW (databuf+02H)
	ADD  	A,i?348
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (databuf+02H)
	RET  	
L?0525:
	USING	0
	MUL  	AB
L?0526:
	ADD  	A,#LOW (prn_page_buf+021CH)
	MOV  	DPL,A
	MOV  	A,B
	ADDC 	A,#HIGH (prn_page_buf+021CH)
	RET  	
L?0527:
	USING	0
	MUL  	AB
L?0528:
	ADD  	A,#LOW (prn_page_buf+022EH)
	MOV  	DPL,A
	MOV  	A,B
	ADDC 	A,#HIGH (prn_page_buf+022EH)
	RET  	
L?0529:
	USING	0
	MUL  	AB
L?0530:
	ADD  	A,#LOW (prn_page_buf+0235H)
	MOV  	DPL,A
	MOV  	A,B
	ADDC 	A,#HIGH (prn_page_buf+0235H)
	RET  	
L?0531:
	USING	0
	MOV  	R6,#04H
	MOV  	R7,#0C8H
	MOV  	R2,#HIGH (prn_page_buf)
	MOV  	R1,#LOW (prn_page_buf)
L?0532:
	MOV  	R5,#020H
	MOV  	R3,#01H
	LJMP 	?C?MEMSET
L?0534:
	USING	0
L?0535:
	MOV  	DPTR,#i?1286
	MOVX 	A,@DPTR
	MOV  	R7,A
	CLR  	C
	RET  	
L?0537:
	USING	0
	MOV  	?_long_to_asc?BYTE+04H,#01H
	MOV  	?_long_to_asc?BYTE+05H,#HIGH (inv_cur_info)
	MOV  	?_long_to_asc?BYTE+06H,#LOW (inv_cur_info)
	MOV  	R3,#01H
	MOV  	R2,#HIGH (prn_page_buf+0127H)
	MOV  	R1,#LOW (prn_page_buf+0127H)
	MOV  	R5,#0AH
	RET  	
L?0538:
	USING	0
	MOV  	R0,#LOW (prn_page_buf+01FFH)
	MOV  	R4,#HIGH (prn_page_buf+01FFH)
	MOV  	R5,#01H
	MOV  	R6,#00H
	RET  	
L?0539:
	USING	0
	MOV  	A,i?2199
	ADD  	A,j?21100
	MOV  	R7,A
	ADD  	A,#LOW (databuf+0FFF9H)
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (databuf+0FFF9H)
	MOV  	DPH,A
	MOVX 	A,@DPTR
	MOV  	R6,A
	RET  	
L?0540:
	USING	0
L?0541:
	MOV  	R5,A
	MOV  	DPTR,#k?1287
	MOVX 	A,@DPTR
	MOV  	R4,A
	MOV  	B,#024H
	RET  	
L?0542:
	USING	0
	ANL  	A,#0FH
	MUL  	AB
	MOV  	R7,A
L?0543:
	CLR  	A
	MOV  	R4,A
	MOV  	R5,A
	MOV  	A,R3
	ADD  	A,R7
	MOV  	R7,A
	MOV  	A,R2
	RET  	
L?0549:
	USING	0
	MOV  	B,#04H
	MUL  	AB
	ADD  	A,#LOW (prn_page_buf+0388H)
	MOV  	R1,A
	MOV  	A,#HIGH (prn_page_buf+0388H)
	ADDC 	A,B
	MOV  	R0,AR1
	MOV  	R4,A
	RET  	
L?0550:
	USING	0
	MOV  	B,#010H
	MUL  	AB
	MOV  	R3,#0FFH
	ADD  	A,#LOW (PrnVAsc+0FE00H)
	MOV  	R1,A
	MOV  	A,#HIGH (PrnVAsc+0FE00H)
	ADDC 	A,B
	MOV  	R2,A
	RET  	
L?0551:
	USING	0
	MOV  	R0,#LOW (prn_page_buf+01B2H)
	MOV  	R4,#HIGH (prn_page_buf+01B2H)
	MOV  	R5,#01H
	MOV  	R6,#00H
	RET  	
L?0553:
	USING	0
	SETB 	C
	MOV  	DPTR,#fiscal_data_index+07H
	MOVX 	A,@DPTR
	SUBB 	A,#070H
	MOV  	DPTR,#fiscal_data_index+06H
	MOVX 	A,@DPTR
	SUBB 	A,#017H
	RET  	
L?0554:
	USING	0
L?0555:
	MOV  	DPTR,#k?1287
	MOVX 	A,@DPTR
	MOV  	B,#04H
	MUL  	AB
	RET  	
L?0556:
	USING	0
	MUL  	AB
	ADD  	A,#LOW (prn_page_buf+0225H)
	MOV  	DPL,A
	MOV  	A,B
	ADDC 	A,#HIGH (prn_page_buf+0225H)
	MOV  	DPH,A
	MOV  	A,DPL
	RET  	
L?0557:
	USING	0
	MOV  	R7,A
L?0558:
	MOV  	A,i?2096
	MOV  	B,#08H
	MUL  	AB
	RET  	
L?0560:
	USING	0
	MOV  	DPTR,#inv_cur_vol+013H
	MOVX 	A,@DPTR
	INC  	A
	MOVX 	@DPTR,A
	MOV  	DPTR,#inv_cur_day+07H
	MOVX 	A,@DPTR
	INC  	A
	MOVX 	@DPTR,A
	RET  	
L?0561:
	USING	0
	MOV  	B,#05H
	MUL  	AB
	ADD  	A,#LOW (inv_prn_cur_info+09H)
	MOV  	DPL,A
	MOV  	A,B
	ADDC 	A,#HIGH (inv_prn_cur_info+09H)
	RET  	
L?0562:
	USING	0
	MOV  	A,#LOW (databuf+0FFF0H)
	ADD  	A,i?971
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (databuf+0FFF0H)
	MOV  	DPH,A
	MOVX 	A,@DPTR
	RET  	
L?0563:
	USING	0
L?0564:
	MOVX 	@DPTR,A
	MOV  	B,#024H
	MOV  	A,R7
	MUL  	AB
	RET  	
L?0567:
	USING	0
	MOV  	A,#LOW (prn_page_buf+0368H)
	ADD  	A,i?246
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (prn_page_buf+0368H)
	MOV  	DPH,A
	RET  	
L?0568:
	USING	0
L?0569:
	LCALL	?C?LSTXDATA
	MOV  	A,keyc
	XRL  	A,#01BH
	RET  	
L?0570:
	USING	0
L?0571:
	MOV  	R7,A
	MOV  	B,#04H
	MOV  	A,k?349
	MUL  	AB
	RET  	
L?0572:
	USING	0
	MOV  	?_long_to_asc?BYTE+04H,#01H
	MOV  	?_long_to_asc?BYTE+05H,#HIGH (ttt?1289)
	MOV  	?_long_to_asc?BYTE+06H,#LOW (ttt?1289)
	MOV  	R3,#01H
	RET  	
L?0573:
	USING	0
	MOV  	?_long_to_asc?BYTE+04H,#01H
	MOV  	?_long_to_asc?BYTE+05H,#HIGH (tt?2098)
	MOV  	?_long_to_asc?BYTE+06H,#LOW (tt?2098)
	MOV  	R3,#01H
	RET  	
L?0574:
	USING	0
	MOV  	A,#LOW (prn_page_buf+0153H)
	ADD  	A,i?2199
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (prn_page_buf+0153H)
	MOV  	DPH,A
	RET  	
L?0575:
	USING	0
	MOV  	A,#LOW (prn_page_buf+0177H)
	ADD  	A,i?2199
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (prn_page_buf+0177H)
	MOV  	DPH,A
	RET  	
L?0576:
	USING	0
	ANL  	A,#0FH
	MOV  	R7,A
	MOV  	R6,#00H
	LCALL	?C?IMUL
	CLR  	A
	MOV  	R4,A
	MOV  	R5,A
	RET  	
L?0577:
	USING	0
	MOV  	A,#LOW (prn_page_buf+01DBH)
	ADD  	A,R5
	MOV  	DPL,A
	MOV  	A,#HIGH (prn_page_buf+01DBH)
	ADDC 	A,R4
	MOV  	DPH,A
	RET  	
L?0578:
	USING	0
	MOV  	A,#LOW (prn_page_buf+0DFH)
	ADD  	A,R5
	MOV  	DPL,A
	MOV  	A,#HIGH (prn_page_buf+0DFH)
	ADDC 	A,R4
	MOV  	DPH,A
	RET  	
L?0579:
	USING	0
	ADD  	A,#LOW (inv_prn_tmp_info+095H)
	MOV  	DPL,A
	MOV  	A,B
	ADDC 	A,#HIGH (inv_prn_tmp_info+095H)
	MOV  	DPH,A
	RET  	
L?0580:
	USING	0
	MOV  	R7,A
	CLR  	A
	MOV  	R3,A
	MOV  	R2,#01H
	MOV  	R1,A
	MOV  	R0,A
	LJMP 	?C?LMUL
L?0581:
	USING	0
	MOV  	A,#LOW (prn_page_buf+0235H)
	ADD  	A,R7
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (prn_page_buf+0235H)
	MOV  	DPH,A
	RET  	
L?0582:
	USING	0
	MOV  	A,#LOW (prn_page_buf+021CH)
	ADD  	A,R7
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (prn_page_buf+021CH)
	MOV  	DPH,A
	RET  	
L?0583:
	USING	0
L?0584:
	MOV  	DPTR,#span+04EH
	LJMP 	?C?LSTXDATA
L?0585:
	USING	0
L?0586:
	MOV  	DPTR,#inv_prn_cur_info+04H
	MOV  	A,#02H
	MOVX 	@DPTR,A
	RET  	
L?0587:
	USING	0
	CLR  	A
	MOV  	R7,A
	MOV  	R6,A
	MOV  	DPTR,#dddd
	RET  	
L?0588:
	USING	0
L?0589:
	INC  	i?348
	MOV  	A,i?348
	XRL  	A,#08H
	RET  	
L?0590:
	USING	0
	MOV  	A,#LOW (databuf)
	ADD  	A,i?348
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (databuf)
	RET  	
L?0591:
	USING	0
L?0592:
	LCALL	?C?FPADD
	LJMP 	?C?CASTF
L?0593:
	USING	0
L?0594:
	MOV  	DPH,#00H
	LJMP 	?C?CLDOPTR
L?0595:
	USING	0
L?0596:
	CLR  	A
	MOV  	R3,#0AH
	MOV  	R2,A
	MOV  	R1,A
	MOV  	R0,A
	RET  	
L?0597:
	USING	0
L?0598:
	MOV  	A,R5
	MOVX 	@DPTR,A
	MOV  	B,#024H
	MOV  	A,R4
	RET  	
L?0599:
	USING	0
L?0600:
	ADDC 	A,R4
	MOV  	DPH,A
	MOV  	A,R6
	MOVX 	@DPTR,A
	INC  	R7
	RET  	
L?0601:
	USING	0
	MOV  	A,#LOW (Mac_Code)
	ADD  	A,i?2199
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (Mac_Code)
	RET  	
L?0602:
	USING	0
	MOV  	A,#LOW (inv_tmp_vol+01DH)
	ADD  	A,i?2199
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (inv_tmp_vol+01DH)
	RET  	
L?0603:
	USING	0
	MOV  	A,#LOW (inv_tmp_vol+021H)
	ADD  	A,i?2199
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (inv_tmp_vol+021H)
	RET  	
L?0604:
	USING	0
	MOV  	A,#LOW (inv_tmp_vol)
	ADD  	A,i?2199
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (inv_tmp_vol)
	RET  	
L?0605:
	USING	0
	MOV  	R6,#00H
	MOV  	R5,#00H
	MOV  	R3,#01H
	LJMP 	?C?MEMSET
L?0606:
	USING	0
	MOV  	R7,A
	LCALL	?C?LSTXDATA
	CLR  	A
	MOV  	R7,A
	RET  	

	RSEG  ?PR?fiscal_tui?CALINPUT
fiscal_tui:
	USING	0
	MOV  	DPTR,#InvoicePrintIndex
	MOV  	A,#01H
	MOVX 	@DPTR,A
	MOV  	R6,A
	MOV  	R3,A
	LCALL	L?0454
	MOV  	DPTR,#inv_prn_cur_info
	MOV  	A,#020H
	MOVX 	@DPTR,A
	MOV  	DPTR,#sys_time
	MOVX 	A,@DPTR
	MOV  	DPTR,#inv_prn_cur_info+01H
	MOVX 	@DPTR,A
	MOV  	DPTR,#sys_time+01H
	MOVX 	A,@DPTR
	MOV  	DPTR,#inv_prn_cur_info+02H
	MOVX 	@DPTR,A
	MOV  	DPTR,#sys_time+02H
	MOVX 	A,@DPTR
	MOV  	DPTR,#inv_prn_cur_info+03H
	MOVX 	@DPTR,A
	LCALL	L?0392
	MOV  	DPTR,#inv_cur_info
	LCALL	L?0385
	MOV  	R7,A
	MOV  	DPTR,#inv_prn_cur_info+05H
	LCALL	?C?LSTXDATA
	LCALL	cls
; 	请输入原发票;
	MOV  	R3,#0FFH
	MOV  	R2,#HIGH (?SC_0)
	MOV  	R1,#LOW (?SC_0)
	MOV  	R5,#0BAH
	LCALL	_DisHzLinYm
	MOV  	R3,#01H
	MOV  	R2,#HIGH (temp?044)
	MOV  	R1,#LOW (temp?044)
	MOV  	?_getstr?BYTE+04H,#0BCH
	MOV  	R7,#0AH
	LCALL	_getstr
	MOV  	DPTR,#m?041
	LCALL	?C?LSTKXDATA
	DB   	00H
	DB   	01FH
	DB   	0FFH
	DB   	0FFH
	MOV  	DPTR,#n?042
	LCALL	?C?LSTKXDATA
	DB   	00H
	DB   	00H
	DB   	00H
	DB   	00H
	CLR  	A
	MOV  	j?043,A
?C0001:
	CLR  	A
	MOV  	R7,#0AH
	MOV  	R6,A
	MOV  	R5,A
	MOV  	R4,A
	MOV  	DPTR,#n?042
	LCALL	L?0389
	LCALL	L?0479
	MOV  	A,#LOW (temp?044)
	ADD  	A,j?043
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (temp?044)
	MOV  	DPH,A
	MOVX 	A,@DPTR
	ADD  	A,#0D0H
	MOV  	R7,A
	CLR  	A
	ADDC 	A,#0FFH
	MOV  	R6,A
	LCALL	L?0543
	ADDC 	A,R6
	LCALL	L?0406
	MOV  	DPTR,#n?042
	LCALL	?C?LSTXDATA
	INC  	j?043
	MOV  	A,j?043
	CJNE 	A,#0AH,?C0001
?C0002:
	LCALL	cls
; 	数据搜索中,请稍
	MOV  	R3,#0FFH
	MOV  	R2,#HIGH (?SC_16)
	MOV  	R1,#LOW (?SC_16)
	MOV  	R5,#0BEH
	LCALL	_DisHzLinYm
	MOV  	DPTR,#i?040
	LCALL	?C?LSTKXDATA
	DB   	00H
	DB   	00H
	DB   	00H
	DB   	00H
?C0004:
	MOV  	R7,#0FFH
	MOV  	R6,#0FFH
	MOV  	R5,#01FH
	MOV  	R4,#00H
	MOV  	DPTR,#i?040
	LCALL	L?0389
	CLR  	C
	LCALL	?C?ULCMP
	JC   	$ + 5H
	LJMP 	?C0005
	LCALL	L?0384
	MOV  	R7,A
	LCALL	_rd_buf
	MOV  	DPTR,#flash_temp
	MOVX 	A,@DPTR
	CJNE 	A,#0FFH,?C0007
	LCALL	L?0384
	MOV  	R3,A
	MOV  	A,R6
	MOV  	R2,A
	CLR  	A
	MOV  	R1,A
	MOV  	R0,A
	MOV  	DPTR,#i?040
	INC  	DPTR
	INC  	DPTR
	INC  	DPTR
	MOVX 	A,@DPTR
	ADD  	A,#00H
	MOV  	R7,A
	CLR  	A
	ADDC 	A,R6
	MOV  	R6,A
	MOV  	A,R5
	ADDC 	A,#01H
	MOV  	R5,A
	CLR  	A
	ADDC 	A,R4
	MOV  	R4,A
	MOV  	A,R7
	ADD  	A,R3
	MOV  	R7,A
	MOV  	A,R6
	ADDC 	A,R2
	LCALL	L?0490
	MOV  	DPTR,#i?040
	LCALL	?C?LSTXDATA
?C0007:
	LCALL	L?0455
	MOV  	DPTR,#n?042
	LCALL	L?0385
	MOV  	R7,A
	MOV  	DPTR,#inv_prn_tmp_info+033H
	LCALL	L?0389
	CLR  	C
	LCALL	?C?ULCMP
	JNZ  	?C0008
; 	发票已经退过,不能

⌨️ 快捷键说明

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