📄 key.med
字号:
1166 ; db 0y00100000
1167 ; db 0y01000000
1168 ; db 0y10000000
1169
1170 ; PPPPPPPP
1171 ; 99999999
1172 tbl_scan: ; 76543210 SCAN_CT
1173 db 0y00000001 ;0
1174 db 0y00000010 ;1
1175 db 0y00000100 ;2
1176 db 0y00001000 ;3
1177 db 0y00010000 ;4
1178 db 0y00100000 ;5
1179 db 0y01000000 ;6
1180 db 0y10000000 ;7
1181
1182
1183
1184 ;=====================================================
1185 ;detect the mode retan and update the MDSW
1186 ;-----------------------------------------------------
1187 ;V3.00feed_check: ;V2.13
1188 ;V3.00 cmp (SCAN_CT),2
1189 ;V3.00 j ne,feed_check_end
1190 ;V3.00 @BBC (SLID_RT2,feed_check_end)
1191 ;V3.00 nop
1192 ;V3.00 nop
1193 ;V3.00 nop
1194 ;V3.00 @BBC (SLID_RT2,feed_check_end)
1195 ;V3.00 @SEB (PAPER_FEED)
1196 ;V3.00 ret
1197 ;V3.00feed_check_end:
1198 ;V3.00 @CLB (PAPER_FEED)
1199 ;V3.00 ret
1200 ;------------------------------------------------V2.13
1201
1202 ;scan out: _______HH___________
1203 ;return in: _______HH___________
1204 ;
1205 mdsw_scan:
1206 ld a,(SCAN_CT)
1207 ld cf,(P5DR).0 ;check mode return0 (P50)
1208 ld (MDSW).a,cf ;set mode switch status
1209
1210 ld cf,(P5DR).1 ;check mode return1 (P51)
1211 ld (MDSW+1).a,cf ;set mode switch status
1212
1213 ld cf,(P5DR).2 ;check mode return2 (P52)
1214 ld (MDSW+2).a,cf ;set mode switch status
1215
1216 ld cf,(P5DR).3 ;check mode return3 (P53)
1217 ld (MDSW+3).a,cf ;set mode switch status
1218 ret
1219
1220 ;-------------------------------------------------------------
1221 initial_mdsw_update:
1222 ld (SCAN_CT),0
1223 initial_mdsw_update_1:
1224 ld c,(SCAN_CT) ;V1.30
1225 ld hl,tbl_scan ;v1.30
1226 ld a,(hl+c) ;V1.30
1227 ld (P9DR),a ;V1.30
1228 call mdsw_scan
1229 inc (SCAN_CT)
1230 cmp (SCAN_CT),8
1231 j lt,initial_mdsw_update_1
1232 ld (SCAN_CT),0 ;V2.13
1233 ld a,(MDSW)
1234 ld (MDBK),a
1235 ld (MDFLG),a
1236 ld (MDFLG_RT),a
1237
1238 ld a,(MDSW+1)
1239 ld (MDBK+1),a
1240 ld (MDFLG+1),a
1241 ld (MDFLG_RT+1),a
1242
1243 ld a,(MDSW+2)
1244 ld (MDBK+2),a
1245 ld (MDFLG+2),a
1246 ld (MDFLG_RT+2),a
1247
1248 ld a,(MDSW+3)
1249 ld (MDBK+3),a
1250 ld (MDFLG+3),a
1251 ld (MDFLG_RT+3),a
1252 call update_md
1253 call calc_dp_pos ;V1.30
1254 ret
1255 ;------------------------------------------------------
1256 ;Mode swith update for remove chattaring.................
1257 update_mdsw:
1258 ld a,(SCAN_CT) ;mode sw is updated when SCAN_CT=0 only
1259 j nz,up_mdsw9
1260 mdsw_update:
1261 ld c,4-1 ;\
1262 up_mdsw0: ;|
1263 ld hl,MDSW ;|mode switch start address->hl
1264 ld a,(hl+c) ;|
1265 ld hl,MDBK ;|
1266 cmp a,(hl+c) ;|MDBK=MDSW?
1267 j ne,up_mdsw2 ;|not match compare with MDSW and MDBK-->
1268 dec c ;|
1269 j f,up_mdsw0 ;/
1270
1271 ld a,(MDCHK) ;\
1272 j z,up_mdsw9 ;|register MDCHK=0?
1273 dec (MDCHK) ;|
1274 j nz,up_mdsw9 ;/
1275 ld c,4-1 ;
1276 up_mdsw1: ;\
1277 ld hl,MDBK ;|MDFLG_RT update
1278 ld a,(hl+c) ;|MDBK-->MDFLG_RT
1279 ld hl,MDFLG_RT ;|
1280 ld (hl+c),a ;|
1281 dec c ;|
1282 j f,up_mdsw1 ;/
1283 ;---------------calculate the decimal position-----------------
1284 calc_dp_pos: ;V1.30
1285 ld c,0 ;\
1286 ld a,(MDFLG_RT) ;|MDFLG_RT bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
1287 up_mdsw12: ;|relation dp: F AM 6 5 4 3 2 1 0
1288 push wa ;V1.27
1290 +1 ld wa,DP_UPDATE
1291 +1 set (DP_UPDATE>>4).a
1292 pop wa ;V1.27
1293 shrc a ;|
1294 j cs,up_mdsw15 ;|
1295 inc c ;|
1296 cmp c,8 ;|
1297 j lt,up_mdsw12 ;|
1298 up_mdsw15: ;|
1299 ld hl,tbl_dppos ;|
1300 ld a,(hl+c) ;|
1301 ld (DP_POS_RT),a ;| ;DP_POS_RT update
1302 j up_mdsw9 ;/
1303 ;--------------------------------------------------------------
1304 up_mdsw2:
1305 ld c,4-1 ;\
1306 up_mdsw3: ;|
1307 ld hl,MDSW ;|MDBK update
1308 ld a,(hl+c) ;|MDSW-->MSBK
1309 ld hl,MDBK ;|
1310 ld (hl+c),a ;|
1311 dec c ;|
1312 j f,up_mdsw3 ;/
1313 ld (MDCHK),MD_TIM
1314 up_mdsw9:
1315 ret
1316
1317 tbl_dppos:
1318 db 0 ;DP0
1319 db 1 ;DP1
1320 db 2 ;DP2
1321 db 3 ;DP3
1322 db 4 ;DP4
1323 db 5 ;DP5
1324 db 6 ;DP6
1325 db 2 ;ADM
1326 db 0 ;FDP(in case of no any DP flags on)
1327
1328 key_conver_tbl:
1329 db K_MPL ;0x20
1330 db K_MMI ;0x21
1331 db K_MST ;0x22
1332 db K_MTL ;0x23
1333 db K_PER ;0x17
1334 db K_DIV ;0x19
1335 db K_RATE ;0x28
1336 db K_IC ;0x1f
1337 db K_TXP ;0x29
1338 db K_TXM ;0x2a
1339 db K_MUL ;0x18
1340 db K_EQU ;0x16
1341 db K_PLS ;0x10
1342 db K_MIN ;0x11
1343 db K_ST ;0x12
1344 db K_TL ;0x13
1345 db K_ROOT ;0x27
1346 db K_MU ;0x1a
1347 db 0x03 ;0x03
1348 db 0x06 ;0x06
1349 db 0x09 ;0x09
1350 db K_DP ;0x0c
1351 db K_TX2P ;0x14
1352 db K_TX2M ;0x15
1353 db 0x02 ;0x02
1354 db 0x05 ;0x05
1355 db 0x08 ;0x08
1356 db K_ZERO3 ;0x0b
1357 db K_BS ;0x1d
1358 db K_M2TL ;0x2f
1359 db 0x01 ;0x01
1360 db 0x04 ;0x04
1361 db 0x07 ;0x07
1362 db K_ZERO2 ;0x0a
1363 db K_MGR ;0x26
1364 db K_M2ST ;0x2e
1365 db K_PERPLS ;0x2b
1366 db K_DLT ;0x1b
1367 db K_SGN ;0x1c
1368 db K_ZERO ;0x00
1369 db K_SEL ;0x25
1370 db K_M2MI ;0x2d
1371 db K_GT ;0x0f
1372 db K_CE ;0x0d
1373 db K_SHD ;0x1e
1374 db K_CEC ;0x0e
1375 db K_CST ;0x24
1376 db K_M2PL ;0x2c
1377
1378 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
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
S100_W2 MAC
S1_W2 MAC
SEB MAC
UP_COM VAL 0x00000000
if_finance_on MAC
interval_tm_disable
MAC
interval_tm_enable
MAC
User defined identifier, 35 symbol(s)
Macro processing end, No error
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -