📄 prn_edit.med
字号:
929 ;==============================================================================
930 ;symbol print with black/red print.....
931 ;sym_print_br:
932 ; ld ix,hl ;work reg. pointer save
933 ; call spc_prnbuf
934 ; call store_zs8 ;set P_RED flag by refer (ix) contents
935 ; call set_symbol
936 ; j wk_print9 ;print with check P_NP flag
937
938 ;symbol print always black.....
939 sym_print_br:
940 call spc_prnbuf
941 call set_symbol
942 j wk_print9 ;print with check P_NP flag
943
944 ;==============================================================================
945 ; feed 1 line
946 ;==============================================================================
947 feed_1:
949 +1 ld wa,P_NP
950 +1 test (P_NP>>4).a ;bit -reverse-> jump status
951 +1 j t,feed_1_start ;if jump status is 1 -> branch
952 ret
953 feed_1_start:
954 call spc_prnbuf
956 +1 ld wa,P_RED
957 +1 clr (P_RED>>4).a
958 ;V3.08 jp key_feed
959 j print ;V3.08
960 print_bk:
962 +1 ld wa,P_RED
963 +1 clr (P_RED>>4).a
964 j wk_print9 ;print with check P_NP flag
965 ;==============================================================================
966 ; feed 1 line(igonore P_NP...for manual key feed)
967 ;==============================================================================
968 kfeed_1:
969 call spc_prnbuf
971 +1 ld wa,P_RED
972 +1 clr (P_RED>>4).a
973 jp key_feed ;V3.08 V3.09
974 ;V3.09 jp print ;V3.08
975 ;==============================================================================
976 ; print work register
977 ;==============================================================================
978 ;always print......(for CE/C key of logos694T)
979 wk_print_alws:
980 call edit_prn
981 ;V3.00 call cap_to_prn ;add caption to PRN_BUF with 2line print control
982 j print ;
983
984 ;edit and print....
985 wk_print:
986 call edit_prn
987 ;V3.00 call cap_to_prn ;add caption to PRN_BUF with 2line print control
988 wk_print9:
989 ;V3.00 @BBS (RP_PRINT,wk_print91) ;auto replay printing? yes->print
991 +1 ld wa,P_NP
992 +1 test (P_NP>>4).a ;bit -reverse-> jump status
993 +1 j f,wk_print99 ;if jump status is 0 -> branch
994 wk_print91:
995 call print
996 wk_print99:
997 ret
998
999 ;==============================================================================
1000 ; Caption set to PRN_BUF (if overflow, print 2line)
1001 ;==============================================================================
1002 ;V3.00;input: (CAP) <-caption code(00 to 0b)
1003 ;V3.00; (LANG) <-lunguage code(0 to 4)
1004 ;V3.00CAP_L_C equ 10 ;caption length
1005 ;V3.00MAX_LANG equ 5 ;muximum language
1006 ;V3.00cap_to_prn:
1007 ;V3.00 @BBC (SW_CAP,cap_tpr_9)
1008 ;check effective length of caption...
1009 ;V3.00 ld a,(CAP) ;caption code
1010 ;V3.00 j z,cap_tpr_9 ;code=0 -> igonore
1011 ;V3.00 cmp a,CAP_BOT
1012 ;V3.00 j gt,cap_tpr_9 ;code is over -> igonore
1013 ;V3.00 call cap_addr ;hl <- caption top address
1014 ;V3.00 ld c,CAP_L_C-1 ;
1015 ;V3.00cap_tpr_1:
1016 ;V3.00 cmp (hl+c),' ' ;
1017 ;V3.00 j ne,cap_tpr_19
1018 ;V3.00 dec c ;
1019 ;V3.00 j f,cap_tpr_1 ;c=ff? no->
1020 ;V3.00cap_tpr_19:
1021 ;V3.00 inc c ;c <- effective length of caption
1022 ;V3.00 cmp (CAP),CAP_FCR ;FC rate caption? no->
1023 ;V3.00 j ne,cap_tpr_190
1024 ;V3.00 inc c ;length+2 for RATEnn (2digits number+1space)
1025 ;V3.00 inc c
1026 ;V3.00 inc c
1027 ;V3.00cap_tpr_190:
1028 ;V3.00;check effective space length of PRN_BUF...
1029 ;V3.00 ld hl,PRN_BUF_MSD
1030 ;V3.00cap_tpr_1x:
1031 ;V3.00 ld b,0
1032 ;V3.00cap_tpr_2:
1033 ;V3.00 cmp (hl),' '
1034 ;V3.00 j ne,cap_tpr_29
1035 ;V3.00 inc hl
1036 ;V3.00 inc b ;reg.b <-effective space length of PRN_BUF
1037 ;V3.00 cmp b,D_PRN_MAX
1038 ;V3.00 j lt,cap_tpr_2
1039 ;V3.00cap_tpr_29:
1040 ;V3.00 inc c ;need extra one more space for sepalator
1041 ;V3.00 cmp c,b
1042 ;V3.00 j le,cap_tpr_5 ;caption length is smaller than PRN_BUF space -> set caption
1043 ;V3.00;not enough space in PRN_BUF -> 2line print
1044 ;V3.00 call prn_buff_save
1045 ;V3.00 ld b,0 ;reg.b ... back up for black/red
1046 ;V3.00 @BBC (P_RED,cap_tpr_30) ;save red print flag
1047 ;V3.00 ld b,1
1048 ;V3.00cap_tpr_30:
1049 ;V3.00 push b
1050 ;V3.00 call spc_prnbuf ;PRN_BUF space clear
1051 ;V3.00 call cap_set ;caption set to PRN_BUF
1052 ;V3.00 call wk_print9 ;print caption only
1053 ;V3.00 call prn_buff_load
1054 ;V3.00 pop b
1055 ;V3.00 cmp b,0
1056 ;V3.00 j eq,cap_tpr_9 ;black print? yes->
1057 ;V3.00 @SEB (P_RED)
1058 ;V3.00 j cap_tpr_9
1059 ;V3.00cap_tpr_5:
1060 ;V3.00 call cap_set
1061 ;V3.00cap_tpr_9:
1062 ;V3.00 ld (CAP),CAP_SPC ;clear caption code
1063 ;V3.00 ret
1064
1065 ;V3.00;move caption table to PRN_BUF.....
1066 ;V3.00cap_set:
1067 ;V3.00 call cap_addr ;hl <- caption top address
1068 ;V3.00 ld iy,PRN_BUF_MSD
1069 ;V3.00cap_setx:
1070 ;V3.00 ld c,0
1071 ;V3.00cap_set0:
1072 ;V3.00 ld a,(hl+c)
1073 ;V3.00 cmp a,' '
1074 ;V3.00 j eq,cap_set2
1075 ;V3.00 ld (iy),a
1076 ;V3.00cap_set2:
1077 ;V3.00 inc iy
1078 ;V3.00 inc c
1079 ;V3.00 cmp c,CAP_L_C
1080 ;V3.00 j lt,cap_set0
1081
1082 ;V3.00 cmp (CAP),CAP_FCR ;FC rate caption? no->
1083 ;V3.00 j ne,cap_set4
1084 ;V3.00;set 2digits FC rate number....
1085 ;V3.00 ld c,CAP_L_C-1 ;
1086 ;V3.00cap_set30:
1087 ;V3.00 cmp (hl+c),' '
1088 ;V3.00 j ne,cap_set36 ;not blank? yes-> set number
1089 ;V3.00 dec c
1090 ;V3.00 j f,cap_set30 ;c=ff? no->
1091 ;V3.00cap_set36:
1092 ;V3.00 inc c
1093 ;V3.00 ld hl,PRN_BUF_MSD
1094 ;V3.00 ld (hl+c),'-' ;insert "-"
1095 ;V3.00 inc c
1096 ;V3.00 ld a,(BEE_RNO) ;current rate number
1097 ;V3.00 inc a
1098 ;V3.00 push c
1099 ;V3.00 call hex_to_dec
1100 ;V3.00 pop c
1101 ;V3.00 push a
1102 ;V3.00 swap a
1103 ;V3.00 and a,0x0f
1104 ;V3.00 or a,0x60
1105 ;V3.00 ld (hl+c),a
1106 ;V3.00 inc c
1107 ;V3.00 pop a
1108 ;V3.00 and a,0x0f
1109 ;V3.00 or a,0x60
1110 ;V3.00 ld (hl+c),a
1111 ;V3.00cap_set4:
1112 ;V3.00 ret
1113
1114 ;V3.00cap_addr:
1115 ;V3.00 ld a,(CAP) ;caption code(0 to 0b)
1116 ;V3.00 dec a
1117 ;V3.00 ld w,MAX_LANG ;block size par each caption
1118 ;V3.00 mul w,a
1119 ;V3.00 add a,(LANG)
1120 ;V3.00 ld w,CAP_L_C ;1 caption length
1121 ;V3.00 mul w,a
1122 ;V3.00 ld hl,tbl_cap_calc
1123 ;V3.00 add hl,wa ;hl <- caption top address
1124 ;V3.00 ret
1125
1126
1127 ;V3.00tbl_cap_calc: ;*code 00 is no caption
1128 ;V3.00 db "TAX% " ;01 Eng Tax rate
1129 ;V3.00 db "STEUER% " ;01 Ger
1130 ;V3.00 db "TAXE% " ;01 Fre
1131 ;V3.00 db "IMPUESTO% " ;01 Spa
1132 ;V3.00 db "IMPOSTA% " ;01 Ita
1133 ;V3.00
1134 ;V3.00 db "TAX " ;02 Eng Tax value
1135 ;V3.00 db "STEUER " ;02 Ger
1136 ;V3.00 db "TAXE " ;02 Fre
1137 ;V3.00 db "IMPUESTO " ;02 Spa
1138 ;V3.00 db "IMPOSTA " ;02 Ita
1139 ;V3.00
1140 ;V3.00 db "TAX+ " ;03 Eng Tax+ value
1141 ;V3.00 db "STEUER+ " ;03 Ger
1142 ;V3.00 db "TAXE+ " ;03 Fre
1143 ;V3.00 db "IMPUESTO+ " ;03 Spa
1144 ;V3.00 db "IMPOSTA+ " ;03 Ita
1145 ;V3.00
1146 ;V3.00 db "TAX- " ;04 Eng Tax- value
1147 ;V3.00 db "STEUER- " ;04 Ger
1148 ;V3.00 db "TAXE- " ;04 Fre
1149 ;V3.00 db "IMPUESTO- " ;04 Spa
1150 ;V3.00 db "IMPOSTA- " ;04 Ita
1151
1152 ;V3.00 db "COST " ;05 Eng COST
1153 ;V3.00 db "EK-PR. " ;05 Ger
1154 ;V3.00 db "COUT " ;05 Fre
1155 ;V3.00 db "COMPRA " ;05 Spa
1156 ;V3.00 db "COSTO " ;05 Ita
1157
1158 ;V3.00 db "SELL " ;06 Eng SELL
1159 ;V3.00 db "VK-PR. " ;06 Ger
1160 ;V3.00 db "P VTE " ;06 Fre
1161 ;V3.00 db "VENTA " ;06 Spa
1162 ;V3.00 db "PREZZO " ;06 Ita
1163
1164 ;V3.00 db "MARGIN " ;07 Eng MARGIN
1165 ;V3.00 db "MARGE " ;07 Ger
1166 ;V3.00 db "MARGE " ;07 Fre
1167 ;V3.00 db "MARGEN " ;07 Spa
1168 ;V3.00 db "MARGINE " ;07 Ita
1169
1170 ;V3.00 db "PAID " ;08 Eng CASH
1171 ;V3.00 db "GEGEB. " ;08 Ger
1172 ;V3.00 db "PAYE " ;08 Fre
1173 ;V3.00 db "PAGADO " ;08 Spa
1174 ;V3.00 db "PAGAMENTO " ;08 Ita
1175
1176 ;V3.00 db "CHANGE " ;09 Eng CHANGE
1177 ;V3.00 db "R",CA_UDOT2,"CKG. " ;09 Ger
1178 ;V3.00 db "RENDU " ;09 Fre
1179 ;V3.00 db "CAMBIO " ;09 Spa
1180 ;V3.00 db "CAMBIO " ;09 Ita
1181 ;V3.00
1182 ;V3.00 db "LOCAL " ;0a Eng LOCAL
1183 ;V3.00 db "LOKAL " ;0a Ger
1184 ;V3.00 db "LOCAL " ;0a Fre
1185 ;V3.00 db "LOCAL " ;0a Spa
1186 ;V3.00 db "VAL.LOCAL " ;0a Ita
1187
1188 ;V3.00 db "FC " ;0b Eng FC
1189 ;V3.00 db "FREMD " ;0b Ger
1190 ;V3.00 db "DEVISE " ;0b Fre
1191 ;V3.00 db "DIVISA " ;0b Spa
1192 ;V3.00 db "VAL.EST " ;0b Ita
1193 ;V3.00
1194 ;V3.00 db "RATE " ;0c Eng FC RT
1195 ;V3.00 db "KURS " ;0c Ger
1196 ;V3.00 db "CHANGE " ;0c Fre
1197 ;V3.00 db "CONVERS. " ;0c Spa
1198 ;V3.00 db "CAMBIO " ;0c Ita
1199 ;V3.00
1200 ;V3.00 db "SUBTTL " ;0d Eng SUBTTL
1201 ;V3.00 db "ZW-SUM " ;0d Ger
1202 ;V3.00 db "S-TOT " ;0d Fre
1203 ;V3.00 db "SUBTTL " ;0d Spa
1204 ;V3.00 db "SUBTTL " ;0d Ita
1205 ;V3.00
1206 ;V3.00 db "CASH " ;0e Eng CASH
1207 ;V3.00 db "CASH " ;0e Ger
1208 ;V3.00 db "CASH " ;0e Fre
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -