📄 plane051011v02.lst
字号:
1169 00022E
1170 00022E C233(2) call keyin
1171 00022F C25D(2) call keychk
1172 000230 C26F(2) call keycvt
1173 000231 8232(2) jmp mnkey90
1174 000232
1175 000232 mnkey90:
1176 000232 0E00(2) ret
1177 000233 ;**********************************************
1178 000233 ;Name :keyin
1179 000233 ;Function:
1180 000233 ;Input :
1181 000233 ;Output :
1182 000233 ;Register Used:
1183 000233 ;***********************************************
1184 000233 keyin:
1185 000233 2B02(1) clr keyinbuf
1186 000234 582A(1+S) bts1 csxenbflag
1187 000235 823F(2) jmp keyin10
1188 000236 70D5(1+S) b0bts0 ptcsx1
1189 000237 4802(1) bset keyinbuf.0
1190 000238
1191 000238 71D5(1+S) b0bts0 ptcsx2
1192 000239 4902(1) bset keyinbuf.1
1193 00023A
1194 00023A 72D5(1+S) b0bts0 ptcsx3
1195 00023B 4A02(1) bset keyinbuf.2
1196 00023C
1197 00023C 73D5(1+S) b0bts0 ptcsx4
1198 00023D 4B02(1) bset keyinbuf.3
1199 00023E 8248(2) jmp keyin20
1200 00023F keyin10:
1201 00023F 1E05(1) mov a,keyoldbuf
1202 000240 2AF0(1) and a,#11110000b
1203 000241 1F05(1) mov keyoldbuf,a
1204 000242 1E03(1) mov a,keychkbuf
1205 000243 2AF0(1) and a,#11110000b
1206 000244 1F03(1) mov keychkbuf,a
1207 000245 1E04(1) mov a,keycvtbuf
1208 000246 2AF0(1) and a,#11110000b
1209 000247 1F04(1) mov keycvtbuf,a
1210 000248 keyin20:
1211 000248 592A(1+S) bts1 csyenbflag
1212 000249 8253(2) jmp keyin30
1213 00024A 74D5(1+S) b0bts0 ptcsy1
1214 00024B 4C02(1) bset keyinbuf.4
1215 00024C
1216 00024C 75D5(1+S) b0bts0 ptcsy2
1217 00024D 4D02(1) bset keyinbuf.5
1218 00024E
1219 00024E 76D5(1+S) b0bts0 ptcsy3
1220 00024F 4E02(1) bset keyinbuf.6
1221 000250
1222 000250 77D5(1+S) b0bts0 ptcsy4
1223 000251 4F02(1) bset keyinbuf.7
1224 000252 825C(2) jmp keyin90
1225 000253 keyin30:
1226 000253 1E05(1) mov a,keyoldbuf
1227 000254 2A0F(1) and a,#00001111b
1228 000255 1F05(1) mov keyoldbuf,a
1229 000256 1E03(1) mov a,keychkbuf
1230 000257 2A0F(1) and a,#00001111b
1231 000258 1F03(1) mov keychkbuf,a
1232 000259 1E04(1) mov a,keycvtbuf
1233 00025A 2A0F(1) and a,#00001111b
1234 00025B 1F04(1) mov keycvtbuf,a
1235 00025C keyin90:
1236 00025C 0E00(2) ret
1237 00025D ;**********************************************
1238 00025D ;Name :keychk
1239 00025D ;Function:
1240 00025D ;Input :
1241 00025D ;Output :
1242 00025D ;Register Used:
1243 00025D ;***********************************************
1244 00025D keychk:
1245 00025D 1E02(1) mov a,keyinbuf
1246 00025E 0703(1+S) cmprs a,keychkbuf
1247 00025F 8269(2) jmp keychk10
1248 000260 782B(1+S) b0bts1 keystatflag
1249 000261 826E(2) jmp keychk90
1250 000262 1E06(1) mov a,keychat
1251 000263 7886(1+S) b0bts1 fz
1252 000264 826E(2) jmp keychk90
1253 000265 1E03(1) mov a,keychkbuf
1254 000266 1F04(1) mov keycvtbuf,a
1255 000267 402B(1) bclr keystatflag
1256 000268 826E(2) jmp keychk90
1257 000269 keychk10:
1258 000269 482B(1) bset keystatflag
1259 00026A mov_ keychkbuf,keyinbuf
1260 00026A 1E02(1) mov a, keyinbuf
1261 00026B 1F03(1) mov keychkbuf, a
1262 00026C mov_ keychat,#2
1263 00026C 2D02(1) mov a, #2
1264 00026D 1F06(1) mov keychat, a
1265 00026E keychk90:
1266 00026E 0E00(2) ret
1267 00026F ;**********************************************
1268 00026F ;Name :keycvt
1269 00026F ;Function:
1270 00026F ;Input :
1271 00026F ;Output :
1272 00026F ;Register Used:
1273 00026F ;***********************************************
1274 00026F keycvt:
1275 00026F 1E04(1) mov a,keycvtbuf
1276 000270 2A0F(1) and a,#00001111b
1277 000271 1F27(1) mov r1,a
1278 000272 1E05(1) mov a,keyoldbuf
1279 000273 2A0F(1) and a,#00001111b
1280 000274 1F28(1) mov r2,a
1281 000275 0727(1+S) cmprs a,r1
1282 000276 827B(2) jmp keycvtcsx10
1283 000277 1E04(1) mov a,keycvtbuf
1284 000278 0705(1+S) cmprs a,keyoldbuf
1285 000279 82AC(2) jmp keycvtcsy10
1286 00027A 82DC(2) jmp keycvt90
1287 00027B keycvtcsx10:
1288 00027B
1289 00027B 1E05(1) mov a,keyoldbuf
1290 00027C 2AF0(1) and a,#11110000b
1291 00027D 1827(1) or a,r1
1292 00027E 1F05(1) mov keyoldbuf,a
1293 00027F 2A0F(1) and a,#00001111b
1294 000280 1F07(1) mov csxtable,a
1295 000281 8282(2) jmp $+1
1296 000282 8283(2) jmp $+1
1297 000283 2B24(1) clr tablecount
1298 000284 0000(1) nop
1299 000285 0000(1) nop
1300 000286 0000(1) nop
1301 000287 chkcsxtable:
1302 000287
1303 000287 3402(1) b0mov y,#tablecsx$m
1304 000288 33E3(1) b0mov z,#tablecsx$l
1305 000289 1E24(1) mov a,tablecount
1306 00028A 1383(1) add z,a
1307 00028B 2D00(1) mov a,#0
1308 00028C 1184(1) adc y,a
1309 00028D 0D00(2) movc
1310 00028E 0707(1+S) cmprs a,csxtable
1311 00028F 8291(2) jmp csxtableadd
1312 000290 8298(2) jmp chkcsxtableend
1313 000291 csxtableadd:
1314 000291 1624(1+S) incms tablecount
1315 000292 0000(1) nop
1316 000293 1E24(1) mov a,tablecount
1317 000294 240D(1) sub a,#13
1318 000295 5A86(1+S) bts1 fc
1319 000296 8287(2) jmp chkcsxtable
1320 000297 82DC(2) jmp keycvt90
1321 000298 chkcsxtableend: ;根据所测的数据对飞机执行平衡动作
1322 000298 1E24(1) mov a,tablecount
1323 000299 2403(1) sub a,#3
1324 00029A 5A86(1+S) bts1 fc
1325 00029B 82A9(2) jmp keycvtcsx30
1326 00029C 2405(1) sub a,#5
1327 00029D 5A86(1+S) bts1 fc
1328 00029E 82A4(2) jmp keycvtcsx20
1329 00029F 482C(1) bset empensubflag
1330 0002A0 2D0D(1) mov a,#13
1331 0002A1 2224(1) sub a,tablecount
1332 0002A2 1F08(1) mov csxcalibratebuf,a
1333 0002A3 82DC(2) jmp keycvt90
1334 0002A4
1335 0002A4 keycvtcsx20:
1336 0002A4 4F2B(1) bset empenaddflag
1337 0002A5 1E24(1) mov a,tablecount
1338 0002A6 2403(1) sub a,#3
1339 0002A7 1F08(1) mov csxcalibratebuf,a
1340 0002A8 82DC(2) jmp keycvt90
1341 0002A9 keycvtcsx30:
1342 0002A9 482C(1) bset empensubflag
1343 0002AA
1344 0002AA 2B08(1) clr csxcalibratebuf
1345 0002AB 82DC(2) jmp keycvt90
1346 0002AC keycvtcsy10:
1347 0002AC 1E04(1) mov a,keycvtbuf
1348 0002AD 1F05(1) mov keyoldbuf,a
1349 0002AE 2AF0(1) and a,#11110000b
1350 0002AF 1F09(1) mov csytable,a
1351 0002B0 2709(1) swapm csytable
1352 0002B1 82B2(2) jmp $+1
1353 0002B2 82B3(2) jmp $+1
1354 0002B3 2B24(1) clr tablecount
1355 0002B4 0000(1) nop
1356 0002B5 0000(1) nop
1357 0002B6 0000(1) nop
1358 0002B7 chkcsytable:
1359 0002B7
1360 0002B7 3402(1) b0mov y,#tablecsx$m
1361 0002B8 33E3(1) b0mov z,#tablecsx$l
1362 0002B9 1E24(1) mov a,tablecount
1363 0002BA 1383(1) add z,a
1364 0002BB 2D00(1) mov a,#0
1365 0002BC 1184(1) adc y,a
1366 0002BD 0D00(2) movc
1367 0002BE 0709(1+S) cmprs a,csytable
1368 0002BF 82C1(2) jmp csytableadd
1369 0002C0 82C8(2) jmp chkcsytableend
1370 0002C1 csytableadd:
1371 0002C1 1624(1+S) incms tablecount
1372 0002C2 0000(1) nop
1373 0002C3 1E24(1) mov a,tablecount
1374 0002C4 240D(1) sub a,#13
1375 0002C5 5A86(1+S) bts1 fc
1376 0002C6 82B7(2) jmp chkcsytable
1377 0002C7 82DC(2) jmp keycvt90
1378 0002C8 chkcsytableend: ;根据所测的数据对飞机执行平衡动作
1379 0002C8 1E24(1) mov a,tablecount
1380 0002C9 2403(1) sub a,#3
1381 0002CA 5A86(1+S) bts1 fc
1382 0002CB 82D9(2) jmp keycvtcsy30
1383 0002CC 2405(1) sub a,#5
1384 0002CD 5A86(1+S) bts1 fc
1385 0002CE 82D4(2) jmp keycvtcsy20
1386 0002CF 4B2A(1) bset wingsubflag
1387 0002D0 2D0D(1) mov a,#13
1388 0002D1 2224(1) sub a,tablecount
1389 0002D2 1F0A(1) mov csycalibratebuf,a
1390 0002D3 82DC(2) jmp keycvt90
1391 0002D4
1392 0002D4 keycvtcsy20:
1393 0002D4 4A2A(1) bset wingaddflag
1394 0002D5 1E24(1) mov a,tablecount
1395 0002D6 2403(1) sub a,#3
1396 0002D7 1F0A(1) mov csycalibratebuf,a
1397 0002D8 82DC(2) jmp keycvt90
1398 0002D9 keycvtcsy30:
1399 0002D9 4B2A(1) bset wingsubflag
1400 0002DA
1401 0002DA 2B0A(1) clr csycalibratebuf
1402 0002DB 82DC(2) jmp keycvt90
1403 0002DC
1404 0002DC keycvt90:
1405 0002DC 0E00(2) ret
1406 0002DD ;**********************************************
1407 0002DD ;Name :dkeychat
1408 0002DD ;Function:
1409 0002DD ;Input :
1410 0002DD ;Output :
1411 0002DD ;Register Used:
1412 0002DD ;***********************************************
1413 0002DD dkeychat:
1414 0002DD 2E06(1) b0mov A,keychat
1415 0002DE 7086(1+S) b0bts0 fz ; is keychat <> 0
1416 0002DF 82E2(2) jmp dkeychat90 ; is A = 0
1417 0002E0 2606(1+S) decms keychat ; keychat --
1418 0002E1 82E2(2) jmp dkeychat90
1419 0002E2
1420 0002E2 dkeychat90:
1421 0002E2 0E00(2) ret
1422 0002E3 ;***********************************************
1423 0002E3 tablecsx:
1424 0002E3 000F(1) dw 0fh ;0 不响应
1425 0002E4 0006(1) dw 06h ;1 0度
1426 0002E5 000E(1) dw 0eh ;2 0-90之间
1427 0002E6 0001(1) dw 01h ;3 45度
1428 0002E7 000C(1) dw 0ch ;4 90度
1429 0002E8 000D(1) dw 0dh ;5 90-180之间
1430 0002E9 0002(1) dw 02h ;6 135度
1431 0002EA 0009(1) dw 09h ;7 180度
1432 0002EB 000B(1) dw 0bh ;8 180-270之间
1433 0002EC 0004(1) dw 04h ;9 225度
1434 0002ED 0003(1) dw 03h ;10 270度
1435 0002EE 0007(1) dw 07h ;11 270-360之间
1436 0002EF 0008(1) dw 08h ;12 315度
1437 0002F0
1438 0002F0
1439 0002F0 /*
1440 0002F0 dw 09h ;1 0度
1441 0002F0 dw 00h ;2
1442 0002F0 dw 01h ;3
1443 0002F0 dw 00h ;4
1444 0002F0 dw 01h ;5
1445 0002F0 dw 00h ;6
1446 0002F0 dw 01h ;7
1447 0002F0 dw 0eh ;8 45度
1448 0002F0 dw 01h ;9
1449 0002F0 dw 00h ;10
1450 0002F0 dw 01h ;11
1451 0002F0 dw 00h ;12
1452 0002F0 dw 01h ;13
1453 0002F0 dw 00h ;14
1454 0002F0 dw 03h ;15 90度
1455 0002F0 dw 00h ;16
1456 0002F0 dw 02h ;17
1457 0002F0 dw 00h ;18
1458 0002F0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -