📄 display.med
字号:
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 + -