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

📄 prn_edit.med

📁 calculator code ,use toshibaor nec LSI
💻 MED
📖 第 1 页 / 共 5 页
字号:
     1209       ;V3.00		db	"CASH      "		;0e Spa
     1210       ;V3.00		db	"CASH      "		;0e Ita
     1211                                      
     1212       ;V3.00		db	"          "		;0f Eng
     1213       ;V3.00		db	"          "		;0f Ger
     1214       ;V3.00		db	"          "		;0f Fre
     1215       ;V3.00		db	"          "		;0f Spa
     1216       ;V3.00		db	"          "		;0f Ita
     1217                                      
     1218       ;V3.00		db	"TAX",CA_1,"%     "	;10 Eng Tax1 rate
     1219       ;V3.00		db	"STEUER",CA_1,"%  "	;10 Ger
     1220       ;V3.00		db	"TAXE",CA_1,"%    "	;10 Fre
     1221       ;V3.00		db	"IMPUESTO",CA_1,"%"	;10 Spa
     1222       ;V3.00		db	"IMPOSTA",CA_1,"% "	;10 Ita
     1223       
     1224       ;V3.00		db	"TAX",CA_1,"      "	;11 Eng Tax1 value
     1225       ;V3.00		db	"STEUER",CA_1,"   "	;11 Ger
     1226       ;V3.00		db	"TAXE",CA_1,"     "	;11 Fre
     1227       ;V3.00		db	"IMPUESTO",CA_1," "	;11 Spa
     1228       ;V3.00		db	"IMPOSTA",CA_1,"  "	;11 Ita
     1229       ;V3.00                        
     1230       ;V3.00		db	"TAX",CA_1,"+     "	;12 Eng Tax1+ value
     1231       ;V3.00		db	"STEUER",CA_1,"+  "	;12 Ger
     1232       ;V3.00		db	"TAXE",CA_1,"+    "	;12 Fre
     1233       ;V3.00		db	"IMPUESTO",CA_1,"+"	;12 Spa
     1234       ;V3.00		db	"IMPOSTA",CA_1,"+ "	;12 Ita
     1235       
     1236       ;V3.00		db	"TAX",CA_1,"-     "	;13 Eng Tax1- value
     1237       ;V3.00		db	"STEUER",CA_1,"-  "	;13 Ger
     1238       ;V3.00		db	"TAXE",CA_1,"-    "	;13 Fre
     1239       ;V3.00		db	"IMPUESTO",CA_1,"-"	;13 Spa
     1240       ;V3.00		db	"IMPOSTA",CA_1,"- "	;13 Ita
     1241                                      
     1242       ;V3.00		db	"TAX",CA_2,"%     "	;14 Eng Tax2 rate
     1243       ;V3.00		db	"STEUER",CA_2,"%  "	;14 Ger
     1244       ;V3.00		db	"TAXE",CA_2,"%    "	;14 Fre
     1245       ;V3.00		db	"IMPUESTO",CA_2,"%"	;14 Spa
     1246       ;V3.00		db	"IMPOSTA",CA_2,"% "	;14 Ita
     1247       
     1248       ;V3.00		db	"TAX",CA_2,"      "	;15 Eng Tax2 value
     1249       ;V3.00		db	"STEUER",CA_2,"   "	;15 Ger
     1250       ;V3.00		db	"TAXE",CA_2,"     "	;15 Fre
     1251       ;V3.00		db	"IMPUESTO",CA_2," "	;15 Spa
     1252       ;V3.00		db	"IMPOSTA",CA_2,"  "	;15 Ita
     1253       
     1254       ;V3.00		db	"TAX",CA_2,"+     "	;16 Eng Tax2+ value
     1255       ;V3.00		db	"STEUER",CA_2,"+  "	;16 Ger
     1256       ;V3.00		db	"TAXE",CA_2,"+    "	;16 Fre
     1257       ;V3.00		db	"IMPUESTO",CA_2,"+"	;16 Spa
     1258       ;V3.00		db	"IMPOSTA",CA_2,"+ "	;16 Ita
     1259       
     1260       ;V3.00		db	"TAX",CA_2,"-     "	;17 Eng Tax2- value
     1261       ;V3.00		db	"STEUER",CA_2,"-  "	;17 Ger
     1262       ;V3.00		db	"TAXE",CA_2,"-    "	;17 Fre
     1263       ;V3.00		db	"IMPUESTO",CA_2,"-"	;17 Spa
     1264       ;V3.00		db	"IMPOSTA",CA_2,"- "	;17 Ita
     1265       
     1266       ;V3.00		db	"AMOUNT    "		;18 Eng amount
     1267       ;V3.00		db	"WERT      "		;18 Ger 
     1268       ;V3.00		db	"VALEUR    "		;18 Fre 
     1269       ;V3.00		db	"IMPORTE   "		;18 Spa 
     1270       ;V3.00		db	"VALORE    "		;18 Ita 
     1271       	
     1272       ;V3.00		db	"INTEREST  "		;19 Eng interest
     1273       ;V3.00		db	"ZINSSATZ  "		;19 Ger 
     1274       ;V3.00		db	"INTERET   "		;19 Fre 
     1275       ;V3.00		db	"INTERES   "		;19 Spa 
     1276       ;V3.00		db	"INTERESSE "		;19 Ita 
     1277       	
     1278       ;V3.00		db	"MONTH     "		;1a Eng month
     1279       ;V3.00		db	"MONATE    "		;1a Ger 
     1280       ;V3.00		db	"MOIS      "		;1a Fre 
     1281       ;V3.00		db	"MESES     "		;1a Spa 
     1282       ;V3.00		db	"MESI      "		;1a Ita 
     1283       	
     1284       ;V3.00		db	"PAYMENT   "		;1b Eng payment
     1285       ;V3.00		db	"ZAHLUNG   "		;1b Ger 
     1286       ;V3.00		db	"MENSUALITE"		;1b Fre 
     1287       ;V3.00		db	"PAGO      "		;1b Spa 
     1288       ;V3.00		db	"RATA      "		;1b Ita 
     1289       
     1290       ;V3.00		db	"EURO      "		;1b Eng EURO
     1291       ;V3.00		db	"EURO      "		;1b Ger 
     1292       ;V3.00		db	"EURO      "		;1b Fre 
     1293       ;V3.00		db	"EURO      "		;1b Spa 
     1294       ;V3.00		db	"EURO      "		;1b Ita 
     1295       	
     1296       
     1297       ;==============================================================================
     1298       ;		print DT_BUF by #/D format
     1299       ;==============================================================================
     1300       ;
     1301       ;input: C flag	CS=1: with tenkey entry(print DT_BUF)   CS=0: no tenkey entry(print current display value)
     1302       ;
     1303       print_shpd:
     1304       		j	cs,print_shpd2		;with tenkey entry?  yes->
     1305       ;in case of without tenkey.....................
     1306       		call	ten_to_w1		;tenkey -> W1(no DP adjustment)
     1307       		ld	(SYM),S_ST		;
     1308       
     1309       ;GT logic.................................................................
     1310       ;V3.00		@BBC	(M_694,print_shgt0)
     1311       ;V3.00		ld	(SYM),S_SHP		;# with square box
     1312       ;V3.00print_shgt0:
     1313       ;GT logic.................................................................
     1314       
     1315       		ld	hl,W1
     1316       		call	edit_prn		;W1(display value) edit and transfer to PRN_BUF(edit without comma separator)
     1317       		j	wk_print91		;print without check P_NP flag
     1318       
     1319       ;in case of with tenkey..........
     1320       print_shpd2:
     1321       		call	spc_prnbuf		;PRN_BUF space clear
     1322       		ld	c,16			;#/D maximum print capacity
     1324 +1    	test	(FLG_MODE).0
     1325 +1    	j	f,print_shpd20x
     1326       		ld	c,18			;V4.07
     1327       print_shpd20x:					;V4.07
     1328       		ld	ix,DT_BUF_LSD
     1329       		ld	iy,PRN_BUF_LSD
     1331 +1    	test	(FLG_MODE).0
     1332 +1    	j	t,print_shpd20
     1333       		ld	iy,PRN_BUF_LSD_LTP+1	;V4.03
     1334       print_shpd20:
     1335       		ld	a,(ix)
     1336       		ld	cf,c.0			;even digit?
     1337       		j	cc,print_shpd22		; yes->
     1338       		swap	a
     1339       print_shpd22:
     1340       		and	a,0x0f
     1341       		cmp	a,C_DP			;DP code?
     1342       		j	eq,print_shpd24		; yes->
     1343       		cmp	a,C_SPC			;space code?
     1344       		j	eq,print_shpd23		; yes->
     1345       ;V4.03		or	a,0x30			;change to ascii
     1346       		j	print_shpd25
     1347       print_shpd23:
     1348       		ld	a,ps_spc
     1349       		j	print_shpd25
     1350       print_shpd24:
     1351       		ld	a,ps_dot
     1352       print_shpd25:
     1353       		ld	(iy),a			;set to PRN_BUF
     1354       		dec	iy
     1355       		dec	c
     1356       		j	z,print_shpd26		;transfered maximum character?  yes->
     1357       		ld	cf,c.0			;even digit?
     1358       		j	cs,print_shpd20		; yes->
     1359       		dec	ix
     1360       		j	print_shpd20
     1361       
     1362       ;PRN_BUF left shift until data will be found...
     1363       print_shpd26:
     1364       		ld	hl,PRN_BUF_MSD_LTP
     1365       		ld	d,D_PRN_MAX_LTP	;V4.03
     1367 +1    	test	(FLG_MODE).0
     1368 +1    	j	f,print_shpd26_1
     1369       		ld	hl,PRN_BUF		;V3.03
     1370       		ld	d,D_PRN_MAX		;
     1371       print_shpd26_1:					;v4.03
     1372       		ld	e,d			;for make sure
     1373       print_shpd27:
     1374       		ld	a,(hl+1)
     1375       		cmp	a,ps_spc			;space?
     1376       		j	ne,print_shpd29		; no -> finish to shift
     1377       ;1byte left shift (PRN_BUF+2~+20 -> PRN_BUF+1~+19)...22digit printer
     1378       		ld	c,2
     1379       print_shpd28:
     1380       		ld	a,(hl+c)
     1381       		dec	c
     1382       		ld	(hl+c),a
     1383       		inc	c
     1384       		inc	c
     1385       		cmp	c,d			;
     1386       		j	lt,print_shpd28
     1387       		dec	c
     1388       		ld	(hl+c),ps_spc		;padding space for PRN_BUF_LSD
     1389       		dec	e
     1390       		j	f,print_shpd27		;not ffh?  yes->
     1391       print_shpd29:
     1392       	
     1393       ;GT logic......................................................
     1394       ;V3.00		@BBC	(M_694,print_shgt9)
     1395       ;V3.00		ld	(SYM),S_SHP		;# with square box
     1396       ;V3.00		call	set_symbol		;set symbol from symbol code(SYM)
     1397       ;V3.00		ld	ix,TENKEY
     1398       ;V3.00		call	set_bold		;set P_RED flag by refer (ix) contents 
     1399       ;V3.00		j	wk_print91		;print without check P_NP flag
     1400       ;V3.00print_shgt9:
     1401       ;GT logic......................................................
     1402       
     1403       		ld	(hl),ps_der
     1404       		ld	ix,TENKEY
     1405       ;V3.04		call	set_bold		;set P_RED flag by refer (ix) contents 
     1406       		j	wk_print91		;print without check P_NP flag
     1407       
     1408       
     1409       ;==============================================================================
     1410       ;	Name:     edit_prn
     1411       ;	Function: copy work resister data to PRN_BUF with zero suppression and
     1412       ;                  set commma, DP and symbol, Red color flag(P_RED)
     1413       ;	Input:	  hl <- work resister address
     1414       ;		  SYM <- symbol code
     1415       ;	          *note) if symbol code is S_SHD(for #/D key) commma separator is omitted
     1416       ;	Output:	  PRN_BUF +0~+9, P_RED
     1417       ;	Work reg.: ix,iy,b,c,d,e,a,w
     1418       ;		 *keep hl resister contents
     1419       ;==============================================================================
     1420       ;
     1421       ;
     1422       ;	work resister
     1423       ;
     1424       ;	+0   +1  - - - - - - - - +7   +8
     1425       ;	SIGN MSD		 LSD  DP
     1426       ;            <-------14 digits-----> 
     1427       ;
     1428       ;			 |
     1429       ;	edit work resister data (set DP, comma 'minus sign' and zero suppression)
     1430       ;			 |
     1431       ;	PRN_BUF
     1432       ;	+0  +1 - - - - - - - - - - - - - - +20 +21 +22 +23
     1433       ;	SP '-' n  n  n  ,  n  n  n - - n  n  .  | M   + |
     1434       ;       <-------------  21digits  ----------->     SYM
     1435       ;		       (D_PRN_MAX)
     1436       ;
     1437       edit_prn:
     1438       		ld	ix,hl			;save hl			
     1439       		call	spc_prnbuf		;PRN_BUF space clear
     1440       		call	set_symbol		;set symbol from symbol code(SYM)
     1441       		call	set_bold		;check minus tranzaction and negative value
     1442       		ld	d,0			;d...digit pointer of work register(0-13)
     1443       		ld	e,0			;e...digit pointer of PRN_BUF(0-19)
     1444       edit_prn0:
     1445       		ld	hl,ix			;load source top address
     1446       		call	get_from_src		;get nibble data from reg.hl(top address) and reg.d(pointer)  -> reg.a
     1447       		cmp	d,(ix+OFF_DP)		;check DP location
     1448       		j	eq,edit_prn4		;DP value of work resister = current pointer
     1449       		inc	d			;+1 source pointer
     1450       		call	store_to_dist		;nibble(reg.a) data of source -> change ASCII -> to distination (PRN_BUF + reg.e)
     1451       		inc	e			;+1 distination pointer
     1453 +1    	test	(FLG_MODE).0
     1454 +1    	j	f,edit_prn0_x
     1455       		cmp	e,D_PRN_MAX		;21; transfer end?(distination pointer is over than maximum digit?)
     1456       		jp	edit_prn0_y	;V4.06
     1457       edit_prn0_x:				;V4.05
     1458       		cmp	e,D_PRN_MAX_LTP	;V4.05	;16
     1459       edit_prn0_y:
     1460       		j	lt,edit_prn0		; no->loop
     1461       		j	store_zs0		; -> end(for make sure)
     1462       ;Found DP...............
     1463       edit_prn4:
     1464       		inc	d			;+1 source pointer
     1465       		push	a			;for save current data
     1466       		ld	a,ps_dot			; '.' code
     1468 +1            test	(FLG_MODE).2
     1469 +1    	j	t,edit_prn4_1
     1470       		ld	a,ps_com	;V4.09		; ',' code
     1471       edit_prn4_1:				;V4.09
     1472       		call	store_to_distx		;store DP(PRN_BUF + reg.e)
     1473       		inc	e			;+1 distination pointer
     1474       		pop	a
     1475       		ld	w,2			;for set comma separator
     1476       		j	edit_prn6
     1477       edit_prn5:		
     1478       		ld	hl,ix			;load source top address
     1479       		call	get_from_src		;get nibble data from reg.hl(top address) and reg.d(pointer)  ->reg.a
     1480       		inc	d			;+1 source pointer
     1481       edit_prn6:
     1482       		call	store_to_dist		;store nibble(reg.a) data to distination(PRN_BUF + reg.e)
     1483       		inc	e			;+1 distination pointer
     1485 +1    	test	(FLG_MODE).0
     1486 +1    	j	f,edit_prn6_x
     1487       		cmp	e,D_

⌨️ 快捷键说明

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