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

📄 display.med

📁 calculator code ,use toshibaor nec LSI
💻 MED
📖 第 1 页 / 共 4 页
字号:
      923       		db	0y01101100		;19h 't'
      924       		db	0y00000000		;1ah ' '
      925       		db	0y00000000		;1bh ' '
      926       		db	0y00000000		;1ch ' '
      927       		db	0y00000000		;1dh ' '
      928       		db	0y00000000		;1eh ' '
      929       		db	0y00000000		;1fh ' '
      930       ;			  .decgfba
      931       		db	0y00000001		;a	20h
      932       		db	0y00000010		;b	21h
      933       		db	0y00010000		;c	22h
      934       		db	0y01000000		;d	23h
      935       		db	0y00100000		;e	24h
      936       		db	0y00000100		;f	25h
      937       		db	0y00001000		;g	26h
      938       		db	0y10000000		;.	27h
      939       		db	0y00000000		;'	28h
      940       		db	0y00001111		;up"o"	29h
      941       		db	0y01111000		;low'o'	2ah
      942       		db	0y00000000	; 	2bh
      943       		db	0y00000000	; 	2ch
      944       ;V4.01		db	0y00000000	; 	2dh
      945       ;V4.01		db	0y00000000	; 	2eh
      946       ;V4.01		db	0y00000000	; 	2fh
      947       ;V4.01		db	0y00000000	; 	30h
      948       ;V4.01		db	0y00000000	; 	31h
      949       ;V4.01		db	0y00000000	; 	32h
      950       ;V4.01		db	0y00000000	; 	33h
      951       ;V4.01		db	0y00000000	; 	34h
      952       ;V4.01		db	0y00000000	; 	35h
      953       ;V4.01		db	0y00000000	; 	36h
      954       ;V4.01		db	0y00000000	; 	37h
      955       ;V4.01		db	0y00000000	; 	38h
      956       ;V4.01		db	0y00000000	; 	39h
      957       ;V4.01		db	0y00000000	; 	3ah
      958       ;V4.01		db	0y00000000	; 	3bh
      959       ;V4.01		db	0y00000000	; 	3ch
      960       ;V4.01		db	0y00000000	; 	3dh
      961       ;V4.01		db	0y00000000	; 	3eh
      962       ;V4.01		db	0y00000000	; 	3fh
      963       ;V4.01		db	0y00000000	; 	40h
      964       tbl_vft_ini:
      965       ;			 V7------V0
      966       		db	0y00000001	
      967       		db	0y00000010	
      968       		db	0y00000100	
      969       		db	0y00001000		
      970       		db	0y00010000	
      971       		db	0y00100000	
      972       		db	0y01000000	
      973       		db	0y10000000	
      974       		db	0y00000000	    
      975       		db	0y00000000	 
      976       		db	0y00000000		  
      977       		db	0y00000000		 
      978       		db	0y00000000		  
      979       		db	0y00000000		 
      980       		db	0y00000000		
      981       		db	0y00000000		
      982       
      983       ;			 15-----V8
      984       		db	0y00000000		  
      985       		db	0y00000000		
      986       		db	0y00000000		
      987       		db	0y00000000		
      988       		db	0y00000000		
      989       		db	0y00000000		
      990       		db	0y00000000		
      991       		db	0y00000000		  
      992       		db	0y00000001		
      993       		db	0y00000010		
      994       		db	0y00000100		
      995       		db	0y00001000		
      996       		db	0y00010000		
      997       		db	0y00100000		
      998       		db	0y01000000		
      999       		db	0y10000000		
     1000       tbl_vft_ini_end:
     1001       
     1002       ;==============================================================================
     1003       ;	Name:     edit_disp
     1004       ;	Function: copy work resister data to DISP with zero suppression and
     1005       ;                  set commma, DP, minus sign
     1006       ;	Input:	  hl <- work resister address
     1007       ;	Output:	  DISP +0~+13,ICON_MIN flag
     1008       ;	Work reg.: ix,iy,c,a,w
     1009       ;==============================================================================
     1010       edit_disp:
     1012 +1    	ld	wa,F_DOFF
     1013 +1    	set	(F_DOFF>>4).a
     1014       		ld	ix,hl			
     1015       		add	ix,OFF_LSD		;ix..address of work register 
     1016       		ld	iy,DISP_LSD		;iy..address of DISP
     1017       		ld	c,0			;c...digit pointer of DISP(0-13)
     1018       edit_disp0:
     1019       		ld	a,(ix)
     1020       		ld	cf,c.0			;check digit pointer
     1021       		j	cc,edit_disp2		;c is even number? yes->
     1022       		swap	a			;swap by nibble
     1023       		dec	ix			;odd digit -> move source address to next digit
     1024       edit_disp2:
     1025       		and	a,0x0f			;get low nibble data
     1026       		cmp	c,(hl+OFF_DP)		;check DP location
     1027       		j	eq,edit_disp4
     1028       		ld	(iy),a			;store to DISP
     1029       		dec	iy			;move distination address to next digit
     1030       		inc	c			;digit counter +1
     1031       		cmp	c,LENG_WK*2
     1032       		j	lt,edit_disp0		;transfer end? no->loop
     1033       		j	edit_disp9		;for make sure
     1034       ;Found DP...............
     1035       edit_disp4:
     1036       		set	a.6			;set DP flag to DISP	
     1037       		ld	(iy),a			;store to DISP
     1038       		dec	iy			;move distination address to next digit
     1039       		inc	c			;digit counter+1
     1040       		ld	w,2			;for set comma separater
     1041       edit_disp5:		
     1042       		ld	a,(ix)			;get source data
     1043       		ld	cf,c.0			;check digit pointer
     1044       		j	cc,edit_disp6		;even digit? yes->
     1045       		swap	a			;odd digit -> swap by nibble
     1046       		dec	ix			;odd digit -> move source address to next digit
     1047       edit_disp6:
     1048       		and	a,0x0f			;get low nibble data
     1049       		dec	w
     1050       		j	f,edit_disp8		;if no borrow? yes->
     1051       
     1052       ;V4.13	@if(@eqs(@UP_COM,@ON))then(
     1053       ;V4.13		or	(iy+1),0y10000000	;set comma to DISP(current DISP address-1) <- for upper ' display style	
     1054       ;V4.13	)else(
     1055       		set	a.7			;set comma flag to DISP(current DISP) <- for lower , display style
     1056       ;V4.13	)fi
     1057       
     1058       		ld	w,2			;for set comma separater
     1059       edit_disp8:
     1060       		ld	(iy),a			;store to DISP
     1061       		dec	iy			;move distination address to next digit
     1062       		inc	c			;digit counter+1
     1063       		cmp	c,LENG_WK*2		;transfer end?
     1064       		j	lt,edit_disp5		;no ->loop
     1065       edit_disp9:
     1066       ;zero suppression...............
     1067       		inc	iy			;DISP address move to MSD
     1068       		dec	c
     1069       edit_disp10:
     1070       		ld	a,(iy)			;check DISP data from MSD
     1071       		and	a,0y00111111		;hide comma,DP flag
     1072       		j	nz,edit_disp11		;found data  yes-> stop zero suppression
     1073       ;current digit is zero.....
     1074       		ld	a,(iy)			;check current DISP digit
     1075       		and	a,0y01000000		;check DP
     1076       		j	nz,edit_disp11		;found DP  yes-> stop zero suppression  (in case of 0.xxx--- format)
     1077       		ld	(iy),D_SPC		;fill space code
     1078       		inc	iy			;DISP address move to next digit
     1079       		dec	c			;digit counter -1
     1080       		cmp	c,0			;LSD?
     1081       		j	gt,edit_disp10		;no-> loop
     1082       edit_disp11:
     1083       ;V4.13	@if(@eqs(@UP_COM,@ON))then(
     1084       ;V4.13		and	(iy),0y01111111		;clear commma for left most digit <- for upper ' display style (no need this instruction when lower , display)
     1085       ;V4.13	)else(
     1086       ;V4.13	)fi
     1087       
     1088       ;set minus sign...........
     1090 +1    	ld	wa,ICON_MIN
     1091 +1    	clr	(ICON_MIN>>4).a
     1092       		ld	a,(hl+OFF_S)		;-value?
     1093       		j	z,edit_disp19		;no ->exit
     1094       ;V3.00		@BBS	(M_JET,edit_disp12)	;V2.07
     1095       ;V1.21	@if(@eqs(@D14,@ON))then(
     1096       ;V1.21		cmp	c,LENG_WK*2-1		;MSD?	in case of 14digit
     1097       ;V1.21	)else(
     1098       ;V1.21		cmp	c,(LENG_WK-1)*2-1	;MSD?	in case of 12digit
     1099       ;V1.21	)fi
     1100       
     1101       ;V2.07		push	wa			;V1.21
     1103 +1    	ld	wa,M14
     1104 +1    	test	(M14>>4).a		;bit -reverse-> jump status
     1105 +1    	j	f,edit_disp11x		;if jump status is 0 -> branch
     1107 +1    	ld	wa,M10
     1108 +1    	test	(M10>>4).a		;bit -reverse-> jump status
     1109 +1    	j	t,edit_disp11y		;if jump status is 1 -> branch
     1110       ;V2.07		pop	wa			;V1.21
     1111       		cmp	C,(LENG_WK-2)*2-1	;V1.21
     1112       		jp	edit_disp11z		;V1.21
     1113       edit_disp11x:					;V1.21
     1114       ;V2.07		pop	wa			;V1.21
     1115       		cmp	c,LENG_WK*2-1		;V1.21
     1116       		jp	edit_disp11z		;V1.21
     1117       edit_disp11y:					;V1.21
     1118       ;V2.07		pop	wa			;V1.21
     1119       		cmp	c,(LENG_WK-1)*2-1	;V1.21
     1120       edit_disp11z:					;V1.21
     1121       
     1122       		j	ge,edit_disp12		;yes -> set extend minus sign
     1123       		ld	(iy-1),D_HYPN		;set minus code
     1124       		j	edit_disp19
     1125       edit_disp12:
     1127 +1    	ld	wa,ICON_MIN
     1128 +1    	set	(ICON_MIN>>4).a
     1129       edit_disp19:
     1130       		ret
     1131       
     1132       	end

Toshiba Unified Macro processor (32) V1.0o     [Page     2]  

Cross reference & Symbol table listing
--------------------------------------

Name            Type      Value Reference

BBC              MAC            
BBS              MAC            
CLB              MAC            
D14              VAL 0x00000001 
F_BLINK_OFF      MAC            
F_BLINK_ON       MAC            
F_DPIN_ON        MAC            
F_ICDSP_ON       MAC            
F_TNKEY_OFF      MAC            
GC0              VAL 0x00000000 
GC1              VAL 0x00000000 
GC2              VAL 0x00000000 
GC3              VAL 0x00000000 
GC4              VAL 0x00000000 
GC5              VAL 0x00000000 
GC6              VAL 0x00000000 
GC7              VAL 0x00000000 
GC8              VAL 0x00000000 
GC9              VAL 0x00000000 
IS_5514_OFF      MAC            
IS_5514_ON       MAC            
IS_D14_OFF       MAC            
IS_D14_ON        MAC            
IS_LTP_OFF       MAC            
IS_LTP_ON        MAC            
IS_M2            MAC            
IS_TX2           MAC            
OFF              VAL 0x00000000 
ON               VAL 0x00000001 
POP_REG          MAC            
PUSH_REG         MAC            
RST_IN_OFF       MAC            
RST_IN_ON        MAC            
RTC_SET_ON       MAC            
S100_W2          MAC            
S1_W2            MAC            
SEB              MAC            
SW_ADM_ON        MAC            
UP_COM           VAL 0x00000000 
if_finance_on    MAC            
interval_tm_disable             
                 MAC            
interval_tm_enable              
                 MAC            

User defined identifier, 42 symbol(s)

Macro processing end, No error

⌨️ 快捷键说明

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