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

📄 self_test.med

📁 calculator code ,use toshibaor nec LSI
💻 MED
📖 第 1 页 / 共 4 页
字号:
      662       wait_35us:
      663       		cmp	wa,(pc+a)			;7 machine cycle(1.75us under 16MHz clock)
      664       		cmp	wa,(pc+a)
      665       		cmp	wa,(pc+a)
      666       		cmp	wa,(pc+a)
      667       		cmp	wa,(pc+a)
      668       		cmp	wa,(pc+a)
      669       		cmp	wa,(pc+a)
      670       		cmp	wa,(pc+a)
      671       		cmp	wa,(pc+a)
      672       		cmp	wa,(pc+a)
      673       		cmp	wa,(pc+a)
      674       		cmp	wa,(pc+a)
      675       		cmp	wa,(pc+a)
      676       		cmp	wa,(pc+a)
      677       		cmp	wa,(pc+a)
      678       		cmp	wa,(pc+a)
      679       		cmp	wa,(pc+a)
      680       		cmp	wa,(pc+a)
      681       		cmp	wa,(pc+a)
      682       		cmp	wa,(pc+a)
      683       		ret
      684       
      685       check_slftst:
      686       		ei
      687       		call	wait_100ms
      688       		call	wait_100ms
      689       		call	update_md
      690       		cmp	(MDFLG_0),0y01000000
      691       		j	ne,check_stst9
      692       		cmp	(MDFLG_1),0y01000010
      693       		j	ne,check_stst9
      694       		cmp	(MDFLG_2),0y00100100
      695       		j	ne,check_stst9
      696       		cmp	(MDFLG_3),0y00000000
      697       		j	ne,check_stst9
      698       		di
      699       		ld	(P9DR),0y00100000		;
      700       		call	wait_35us
      701       		ld	a,(P1PRD)			;
      702       		and	a,0y00111111			;
      703       		cmp	a,0y00000100			;press '7'?
      704       		j	ne,check_stst9
      705       
      706       		ld	(P9DR),0y00010000		;
      707       		call	wait_35us
      708       		ld	a,(P1PRD)			;
      709       		and	a,0y00111111			;
      710       		cmp	a,0y00000001			;press '2'
      711       		j	ne,check_stst9			;yes -> exit
      712       
      713       		ld	(P9DR),0y00001000		;
      714       		call	wait_35us
      715       		ld	a,(P1PRD)			;load key matrix return0~3 (P17~P14)
      716       		and	a,0y0011111			;press any key?
      717       		cmp	a,0y0000010			;press '6'
      718       		j	ne,check_stst9
      719       		ei
      720       		call	self_test
      721       
      722       check_stst9:
      723       		ei
      724       		ret
      725       
      726       self_test:
      727       		call	temp_vprn
      728       		call	vfd_test
      729       		call	mode_prn
      730       		call	key_test
      731       		call	ee_test
      732       
      733       		call	chara_prn
      734       		call	spc_prnbuf
      735       		call	print
      736       		call	spc_prnbuf
      737       		call	print
      738       		j	start
      739       
      740       
      741       M_TEMP		db	"TEMPERATURE      C"
      742       M_VPRN		db	"VOLTAGE          V"
      743       DISP_FINISH	db	"DISPLAY FINISH    "
      744       MD_OK		db	"MOD SWITCH      OK"
      745       MD_NG		db	"MOD SWITCH      NG"
      746       M_EEOK		db	"EEPROM          OK"
      747       M_EENG		db	"EEPROM          NG"
      748       KEY_OK		db	"KEY NET         OK"
      749       KEY_NG		db	"KEY NET         NG"
      750       
      751       ;input: HL <- string address
      752       set_1line:
      753       		ld	c,0
      754       		ld	ix,PRN_BUF_MSD
      755       set_1ln0:		
      756       		ld	a,(hl)
      757       		ld	(ix),a
      758       		inc	hl
      759       		inc	ix
      760       		inc	c
      761       		cmp	c,18
      762       		j	lt,set_1ln0
      763       		ret
      764       
      765       ;--------------------------------------------------------------------------
      766       
      767       
      768       
      769       ;--------------------------------------------------------------------------
      770       slid_position_tbl:
      771       	db	2,0y10100100	;
      772       	db	0,0y10000000	;
      773       	db	0,0y00000000	;
      774       	db	0,0y00000001	;
      775       	db	0,0y00000100	;
      776       	db	0,0y00001000	;
      777       	db	0,0y00010000	;
      778       	db	0,0y01000000	;
      779       slid_position_tbl_mid:
      780       	db	1,0y00000010	;
      781       	db	1,0y10000010	;
      782       	db	1,0y01000010	;
      783       	db	2,0y00101000	;
      784       	db	2,0y00100000	;
      785       	db	2,0y00100100	;
      786       	db	3,0y00000100	;
      787       	db	3,0y000000000	;
      788       slid_position_tbl_end:
      789       
      790       mode_prn:
      791       		call	spc_prnbuf
      792       		ld	a,0x29
      793       		ld	c,7
      794       		call	set_disp_test_1
      795       		call	disp_to_dbr
      796       		ld	ix,slid_position_tbl
      797       		ld	(BLK_CT),0
      798       mode_prn_1:
      799       		call	wait_100ms
      800       		call	wait_100ms
      801       		push	ix
      802       		call	update_md
      803       		pop	ix
      804       		ld	c,(ix)
      805       		inc	ix
      806       		ld	b,(ix)
      807       		ld	hl,MDFLG_0
      808       		ld	a,(hl+c)
      809       		cmp	a,b
      810       		j	ne,mode_prn_2
      811       		ld	hl,DISP+2
      812       		ld	c,(BLK_CT)
      813       		ld	a,0x2a
      814       		ld	(hl+c),a
      815       		inc	(BLK_CT)
      816       		push	ix
      817       		call	disp_to_dbr
      818       		call	wait_100ms
      819       		call	wait_100ms
      820       		pop	ix
      821       		inc	ix
      822       		cmp	ix,slid_position_tbl_mid
      823       		j	ne,mode_prn_10
      824       		ld	a,0x29
      825       		ld	c,7
      826       		call	set_disp_test_1
      827       		call	disp_to_dbr
      828       		ld	ix,slid_position_tbl_mid
      829       		ld	(BLK_CT),0
      830       		jp	mode_prn_1
      831       mode_prn_10:
      832       		cmp	ix,slid_position_tbl_end
      833       		j	ge,mode_prn_ok
      834       		jp	mode_prn_1
      835       mode_prn_2:
      836       		push	ix
      837       		ld	a,(KEY_CT)
      838       		j	eq,mode_prn_3
      839       		call	key_get
      840       		cmp	(KEYIN),K_CEC
      841       		j	ne,mode_prn_3
      842       		pop	ix
      843       		jp	mode_prn_error
      844       
      845       mode_prn_3:
      846       		pop	ix
      847       		dec	ix
      848       		jp	mode_prn_1
      849       
      850       mode_prn_error:
      851       		ld	hl,MD_NG
      852       		jp	mode_prn_exit
      853       mode_prn_ok:
      854       		ld	hl,MD_OK
      855       		jp	mode_prn_exit
      856       mode_prn_exit:
      857       		call	set_1line
      858       		call	print
      859       		call	wait_100ms
      860       		call	wait_100ms
      861       		ret
      862       ;----------------------------------------------------------
      863       key_test:
      864       		call	spc_disp
      865       		ld	(DISP_LSD-1),D_0
      866       		ld	(DISP_LSD-0),D_F
      867       		call	disp_to_dbr
      868       		ld	ix,key_test_tbl
      869       
      870       key_test_0:
      871       		ld	a,(KEY_CT)
      872       		j	eq,key_test_0
      873       		call	key_get
      874       		ld	a,(ix)
      875       		cmp	a,(KEYIN)
      876       		j	eq,key_test_1
      877       		cmp	(KEYIN),K_CEC
      878       		j	ne,key_test_0
      879       		ld	hl,KEY_NG
      880       		jp	key_test_exit
      881       key_test_1:
      882       		inc	ix
      883       		ld	a,(ix)
      884       		ld	(DISP_LSD-0),a
      885       		push	ix
      886       		call	disp_to_dbr
      887       		pop	ix
      888       		inc	ix
      889       		cmp	ix,key_test_tbl_end
      890       		j	lt,key_test_0
      891       		ld	hl,KEY_OK
      892       key_test_exit:
      893       		call	set_1line
      894       		call	print
      895       		call	wait_100ms
      896       		call	wait_100ms
      897       		ret
      898       
      899       key_test_tbl:
      900       		db	0x0d,1
      901       		db	0x2b,2
      902       		db	0x07,3
      903       		db	0x05,4
      904       		db	0x03,5
      905       		db	0x0c,6
      906       		db	0x11,7
      907       		db	0x17,8
      908       		db	0x16,9
      909       key_test_tbl_end:
      910       ;--------------------------------------------------------------------------
      911       chara_prn:
      912       		ld	b,0
      913       chara_prn0:
      914       		ld	hl,chara
      915       		ld	a,b
      916       		ld	w,18
      917       		mul	w,a
      918       		add	hl,wa
      919       		push	b
      920       		call	set_1line
      921       		call	print
      923 +1    	ld	wa,P_RED
      924 +1    	clr	(P_RED>>4).a
      925       		pop	b
      926       		test	b.0
      927       		j	f,chara_prn1
      929 +1    	ld	wa,P_RED
      930 +1    	set	(P_RED>>4).a
      931       chara_prn1:
      932       		inc	b
      933       		cmp	b,24
      934       		j	lt,chara_prn0
      935       		ret
      936       
      937       chara:
      938       		db	"1234567890+-x!#$%^"		;1
      939       		db	"&*()"				;2
      940       		db	0x40,0x83,0x84,0x85,0x86
      941       		db	"ABCDEFGHI"
      942       		db	"JKLMNOPQRSTUVWXYZa"		;3
      943       		db	"bcdefghijklmnopqrs"		;4
      944       		db	"tuvwxyz09876543210"		;5
      945       		db	"111111111111111111"		;6
      946       		db	"222222222222222222"		;7
      947       		db	"333333333333333333"		;8
      948       		db	"444444444444444444"		;9
      949       		db	"555555555555555555"		;10
      950       		db	"666666666666666666"		;11
      951       		db	"777777777777777777"		;12
      952       		db	"888888888888888888"		;13
      953       		db	"999999999999999999"		;14
      954       		db	"000000000000000000"		;15
      955       		db	"123456789123456789"		;16
      956       		db	"12345678  12345678"		;17

⌨️ 快捷键说明

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