📄 calctools.asl
字号:
0769 F5 71 1193 lda0 .Temp
076B A7 0B 1194 cmpe #0bh
076D 05 07 AF 1195 brnc .EndLimitCarry
0770 06 07 83 1196 brz .CkCarry
0773 20 00 00 1197 call ShiftToR
0776 F5 00 1198 lda0 PointZ
0778 3F 1199 deca
0779 F9 00 1200 sta0 PointZ
077B F5 71 1201 lda0 .Temp
077D 3F 1202 deca
077E F9 71 1203 sta0 .Temp
0780 02 07 69 1204 br .ShiftR1
0783 1205 .CkCarry:
0783 F5 06 1206 lda0 OperandZ+6
0785 CB 0F 1207 anda #0fh
0787 A7 05 1208 cmpe #05h
0789 05 07 A7 1209 brnc .AdjusTotem
078C F5 06 1210 lda0 OperandZ+6
078E CB F0 1211 anda #0f0h
0790 F9 06 1212 sta0 OperandZ+6
0792 20 09 F0 1213 call .Z_trans_X
0795 20 05 DF 1214 call .ClrY
0798 F1 00 1215 lda PointX
079A FD 00 1216 sta PointY
079C F1 00 1217 lda SignX
079E FD 00 1218 sta SignY
07A0 F3 10 1219 lda #10h
07A2 F9 06 1220 sta0 OperandY+6
07A4 20 00 00 1221 call Addition
07A7 1222 .AdjusTotem:
07A7 20 00 00 1223 call ShiftToR
07AA F5 00 1224 lda0 PointZ
07AC 3F 1225 deca
07AD F9 00 1226 sta0 PointZ
07AF 1227 .EndLimitCarry:
07AF F3 00 1228 lda #0h
07B1 F9 07 1229 sta0 OperandZ+7
07B3 20 0B F8 1230 call .Xn_trans_Y
+ 1231
07B6 24 1232 ret
+ 1233
+ 1234 ;-------------------------------------------
07B7 1235 .GetDataLimit10::
07B7 F3 00 1236 lda #>StateFlag
07B9 FC 28 1237 sta PP
07BB F1 00 1238 lda StateFlag
07BD CB 08 1239 anda #08h
07BF 07 07 E8 1240 brnz .EndLimit10
07C2 20 08 38 1241 call .X_trans_Z
07C5 20 07 51 1242 call .LimitCarry
07C8 20 00 00 1243 call CheckOutData
07CB 20 0A 2C 1244 call .Z_trans_B
07CE 20 09 14 1245 call .Y_trans_Z
07D1 20 07 51 1246 call .LimitCarry
07D4 20 00 00 1247 call CheckOutData
07D7 F3 00 1248 lda #0h
07D9 FD 07 1249 sta OperandZ+7
07DB 20 0A 04 1250 call .Z_trans_Y
07DE 20 0B 08 1251 call .B_trans_Z
07E1 F3 00 1252 lda #0h
07E3 FD 07 1253 sta OperandZ+7
07E5 20 09 F0 1254 call .Z_trans_X
07E8 1255 .EndLimit10:
+ 1256
07E8 24 1257 ret
+ 1258 ;-------------------------------------------
07E9 1259 .GetTabVal::
+ 1260
07E9 F1 00 1261 lda TableC
07EB 89 00 1262 adda .M_Data_Offset
07ED FD 00 1263 sta TableC
07EF 05 07 F7 1264 brnc .Tpl_NoT_Carry
07F2 F1 01 1265 lda TableC+1
07F4 1F 1266 inca
07F5 FD 01 1267 sta TableC+1
07F7 1268 .Tpl_NoT_Carry:
+ 1269
07F7 F3 00 1270 lda #0h
07F9 FC 54 1271 sta TPP
07FB F1 01 1272 lda TableC+1
07FD FC 02 1273 sta TPH
07FF F1 00 1274 lda TableC
0801 FC 01 1275 sta TPL
+ 1276
0803 F8 1277 ldv
0804 FD 00 1278 sta SignZ
0806 F8 1279 ldv
0807 FD 00 1280 sta PointZ
0809 F3 00 1281 lda #>SignZ
080B FC 28 1282 sta PP
080D F3 00 1283 lda #<OperandZ
080F FC 21 1284 sta DP
0811 1285 .InpNum:
0811 F8 1286 ldv
0812 A7 FF 1287 cmpe #0ffh
0814 06 08 1C 1288 brz .End_InpNum
0817 FE 1289 sta i
0818 18 1290 incdp
0819 02 08 11 1291 br .InpNum
+ 1292
081C 1293 .End_InpNum:
081C F3 00 1294 lda #0h
081E FD 07 1295 sta OperandZ+7
0820 20 00 00 1296 call CheckOutData
0823 24 1297 ret
+ 1298 ;------------(X_COPY_Y,Z,Buf,b,s)-----------
0824 1299 .X_trans_Y::
0824 F3 00 1300 lda #<SignX
0826 F9 77 1301 sta0 .PXDP
0828 F3 00 1302 lda #<SignY
082A F9 78 1303 sta0 .PYDP
082C F3 00 1304 lda #>SignX
082E F9 6F 1305 sta0 .PXPP
0830 F3 00 1306 lda #>SignY
0832 F9 65 1307 sta0 .PYPP
0834 20 05 0F 1308 call .CopyData
0837 24 1309 ret
0838 1310 .X_trans_Z::
0838 F3 00 1311 lda #<SignX
083A F9 77 1312 sta0 .PXDP
083C F3 00 1313 lda #<SignZ
083E F9 78 1314 sta0 .PYDP
0840 F3 00 1315 lda #>SignX
0842 F9 6F 1316 sta0 .PXPP
0844 F3 00 1317 lda #>SignZ
0846 F9 65 1318 sta0 .PYPP
0848 20 05 0F 1319 call .CopyData
084B 24 1320 ret
084C 1321 .X_trans_Buf::
084C F3 00 1322 lda #<SignX
084E F9 77 1323 sta0 .PXDP
0850 F3 3A 1324 lda #<Sign_buf
0852 F9 78 1325 sta0 .PYDP
0854 F3 00 1326 lda #>SignX
0856 F9 6F 1327 sta0 .PXPP
0858 F3 01 1328 lda #>Sign_buf
085A F9 65 1329 sta0 .PYPP
085C 20 05 0F 1330 call .CopyData
085F 24 1331 ret
0860 1332 .X_trans_B::
0860 F3 00 1333 lda #<SignX
0862 F9 77 1334 sta0 .PXDP
0864 F3 44 1335 lda #<Sign_b
0866 F9 78 1336 sta0 .PYDP
0868 F3 00 1337 lda #>SignX
086A F9 6F 1338 sta0 .PXPP
086C F3 01 1339 lda #>Sign_b
086E F9 65 1340 sta0 .PYPP
0870 20 05 0F 1341 call .CopyData
0873 24 1342 ret
0874 1343 .X_trans_S::
0874 F3 00 1344 lda #<SignX
0876 F9 77 1345 sta0 .PXDP
0878 F3 4E 1346 lda #<Sign_s
087A F9 78 1347 sta0 .PYDP
087C F3 00 1348 lda #>SignX
087E F9 6F 1349 sta0 .PXPP
0880 F3 01 1350 lda #>Sign_s
0882 F9 65 1351 sta0 .PYPP
0884 20 05 0F 1352 call .CopyData
0887 24 1353 ret
0888 1354 .X_trans_I::
0888 F3 00 1355 lda #<SignX
088A F9 77 1356 sta0 .PXDP
088C F3 62 1357 lda #<Sign_i
088E F9 78 1358 sta0 .PYDP
0890 F3 00 1359 lda #>SignX
0892 F9 6F 1360 sta0 .PXPP
0894 F3 01 1361 lda #>Sign_i
0896 F9 65 1362 sta0 .PYPP
0898 20 05 0F 1363 call .CopyData
089B 24 1364 ret
089C 1365 .X_trans_R::
089C F3 00 1366 lda #<SignX
089E F9 77 1367 sta0 .PXDP
08A0 F3 58 1368 lda #<Sign_r
08A2 F9 78 1369 sta0 .PYDP
08A4 F3 00 1370 lda #>SignX
08A6 F9 6F 1371 sta0 .PXPP
08A8 F3 01 1372 lda #>Sign_r
08AA F9 65 1373 sta0 .PYPP
08AC 20 05 0F 1374 call .CopyData
08AF 24 1375 ret
08B0 1376 .X_trans_T::
08B0 F3 00 1377 lda #<SignX
08B2 F9 77 1378 sta0 .PXDP
08B4 F3 00 1379 lda #<SignT
08B6 F9 78 1380 sta0 .PYDP
08B8 F3 00 1381 lda #>SignX
08BA F9 6F 1382 sta0 .PXPP
08BC F3 00 1383 lda #>SignT
08BE F9 65 1384 sta0 .PYPP
08C0 20 05 0F 1385 call .CopyData
08C3 24 1386 ret
08C4 1387 .X_trans_LRX::
08C4 F3 00 1388 lda #<SignX
08C6 F9 77 1389 sta0 .PXDP
08C8 F3 00 1390 lda #<SignLRX
08CA F9 78 1391 sta0 .PYDP
08CC F3 00 1392 lda #>SignX
08CE F9 6F 1393 sta0 .PXPP
08D0 F3 00 1394 lda #>SignLRX
08D2 F9 65 1395 sta0 .PYPP
08D4 20 05 0F 1396 call .CopyData
08D7 24 1397 ret
+ 1398
08D8 1399 .T_trans_X::
08D8 F3 00 1400 lda #<SignT
08DA F9 77 1401 sta0 .PXDP
08DC F3 00 1402 lda #<SignX
08DE F9 78 1403 sta0 .PYDP
08E0 F3 00 1404 lda #>SignT
08E2 F9 6F 1405 sta0 .PXPP
08E4 F3 00 1406 lda #>SignX
08E6 F9 65 1407 sta0 .PYPP
08E8 20 05 0F 1408 call .CopyData
08EB 24 1409 ret
08EC 1410 .LRX_trans_X::
08EC F3 00 1411 lda #<SignLRX
08EE F9 77 1412 sta0 .PXDP
08F0 F3 00 1413 lda #<SignX
08F2 F9 78 1414 sta0 .PYDP
08F4 F3 00 1415 lda #>SignLRX
08F6 F9 6F 1416 sta0 .PXPP
08F8 F3 00 1417 lda #>SignX
08FA F9 65 1418 sta0 .PYPP
08FC 20 05 0F 1419 call .CopyData
08FF 24 1420 ret
+ 1421 ;------------(Y_COPY_X,Z,Buf,b,s)-----------
0900 1422 .Y_trans_X::
0900 F3 00 1423 lda #<SignY
0902 F9 77 1424 sta0 .PXDP
0904 F3 00 1425 lda #<SignX
0906 F9 78 1426 sta0 .PYDP
0908 F3 00 1427 lda #>SignY
090A F9 6F 1428 sta0 .PXPP
090C F3 00 1429 lda #>SignX
090E F9 65 1430 sta0 .PYPP
0910 20 05 0F 1431 call .CopyData
0913 24 1432 ret
0914 1433 .Y_trans_Z::
0914 F3 00 1434 lda #<SignY
0916 F9 77 1435 sta0 .PXDP
0918 F3 00 1436 lda #<SignZ
091A F9 78 1437 sta0 .PYDP
091C F3 00 1438 lda #>SignY
091E F9 6F 1439 sta0 .PXPP
0920 F3 00 1440 lda #>SignZ
0922 F9 65 1441 sta0 .PYPP
0924 20 05 0F 1442 call .CopyData
0927 24 1443 ret
0928 1444 .Y_trans_Buf::
0928 F3 00 1445 lda #<SignY
092A F9 77 1446 sta0 .PXDP
092C F3 3A 1447 lda #<Sign_buf
092E F9 78 1448 sta0 .PYDP
0930 F3 00 1449 lda #>SignY
0932 F9 6F 1450 sta0 .PXPP
0934 F3 01 1451 lda #>Sign_buf
0936 F9 65 1452 sta0 .PYPP
0938 20 05 0F 1453 call .CopyData
093B 24 1454 ret
093C 1455 .Y_trans_B::
093C F3 00 1456 lda #<SignY
093E F9 77 1457 sta0 .PXDP
0940 F3 44 1458 lda #<Sign_b
0942 F9 78 1459 sta0 .PYDP
0944 F3 00 1460 lda #>SignY
0946 F9 6F 1461 sta0 .PXPP
0948 F3 01 1462 lda #>Sign_b
094A F9 65 1463 sta0 .PYPP
094C 20 05 0F 1464 call .CopyData
094F 24 1465 ret
0950 1466 .Y_trans_Xn::
0950 F3 00 1467 lda #<SignY
0952 F9 77 1468 sta0 .PXDP
0954 F3 00 1469 lda #<SignXn
0956 F9 78 1470 sta0 .PYDP
0958 F3 00 1471 lda #>SignY
095A F9 6F 1472 sta0 .PXPP
095C F3 00 1473 lda #>SignXn
095E F9 65 1474 sta0 .PYPP
0960 20 05 0F 1475 call .CopyData
0963 24 1476 ret
0964 1477 .Y_trans_S::
0964 F3 00 1478 lda #<SignY
0966 F9 77 1479 sta0 .PXDP
0968 F3 4E 1480 lda #<Sign_s
096A F9 78 1481 sta0 .PYDP
096C F3 00 1482 lda #>SignY
096E F9 6F 1483 sta0 .PXPP
0970 F3 01 1484 lda #>Sign_s
0972 F9 65 1485 sta0 .PYPP
0974 20 05 0F 1486 call .CopyData
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -