📄 invaders.lst
字号:
00382 ;-------------------------------------------------------------------------------------------------
00383 WORD_WREG MACRO WORDIN
00384 BYTE_WREG WORDIN
00385 ENDM
00386 ;-------------------------------------------------------------------------------------------------
00387 WORD_BYTE MACRO WORDIN,BYTEOUT
00388 BYTE_BYTE WORDIN,BYTEOUT
00389 ENDM
00390 ;-------------------------------------------------------------------------------------------------
00391 WORD_BIT MACRO WORDIN,VAROUT,BITOUT
00392 BYTE_BIT WORDIN, VAROUT, BITOUT
00393 ENDM
00394 ;-------------------------------------------------------------------------------------------------
00395 WORD_WORD MACRO WORDIN,WORDOUT
00396 MOVFF WORDIN + 1,WORDOUT + 1
00397 BYTE_BYTE WORDIN,WORDOUT
00398 ENDM
00399 ;-------------------------------------------------------------------------------------------------
00400 WORD_DWORD MACRO WORDIN,DWORDOUT
00401 S@B DWORDOUT + 3
00402 CLRF DWORDOUT + 3
00403 S@B DWORDOUT + 2
00404 CLRF DWORDOUT + 2
00405 WORD_WORD WORDIN,DWORDOUT
00406 ENDM
00407 ;-------------------------------------------------------------------------------------------------
00408 BYTE_BYTE MACRO BYTEIN,BYTEOUT
00409 MOVFF BYTEIN,BYTEOUT
00410 R@B ; Reset the bank when the macro is finished
00411 ENDM
00412 ;-------------------------------------------------------------------------------------------------
00413 BYTE_WORD MACRO BYTEIN,WORDOUT
00414 S@B WORDOUT + 1
00415 CLRF WORDOUT + 1
00416 BYTE_BYTE BYTEIN,WORDOUT
00417 ENDM
00418 ;-------------------------------------------------------------------------------------------------
00419 BYTE_DWORD MACRO BYTEIN,DWORDOUT
00420 S@B DWORDOUT + 3
00421 CLRF DWORDOUT + 3
00422 S@B DWORDOUT + 2
00423 CLRF DWORDOUT + 2
00424 S@B DWORDOUT + 1
00425 CLRF DWORDOUT + 1
00426 BYTE_BYTE BYTEIN,DWORDOUT
00427 ENDM
00428 ;-------------------------------------------------------------------------------------------------
00429 BYTE_BIT MACRO BYTEIN,VAROUT,BITOUT
00430 IF ((BYTEIN & 0X0F00) == (VAROUT & 0X0F00))
00431 S@B BYTEIN
00432 BTFSC BYTEIN,0
00433 BSF VAROUT,BITOUT
00434 BTFSS BYTEIN,0
00435 BCF VAROUT,BITOUT
00436 ELSE
00437 IF ((BYTEIN <= BANKA_END) | (BYTEIN >= 0X0F80))
00438 S@B VAROUT
00439 BTFSC BYTEIN,0
00440 BSF VAROUT,BITOUT
00441 BTFSS BYTEIN,0
00442 BCF VAROUT,BITOUT
00443 ELSE
00444 IF ((VAROUT <= BANKA_END) | (VAROUT >= 0X0F80))
00445 S@B BYTEIN
00446 BTFSC BYTEIN,0
00447 BSF VAROUT,BITOUT
00448 BTFSS BYTEIN,0
00449 BCF VAROUT,BITOUT
00450 ELSE
00451 S@B BYTEIN
00452 RRF BYTEIN,W
00453 S@B VAROUT
00454 SKPNC
00455 BSF VAROUT,BITOUT
00456 SKPC
00457 BCF VAROUT,BITOUT
00458 ENDIF
00459 ENDIF
00460 ENDIF
00461 R@B ; Reset the bank when the macro is finished
00462 ENDM
00463 ;-------------------------------------------------------------------------------------------------
00464 DWORD_WREG MACRO DWORDIN
00465 BYTE_WREG DWORDIN
00466 ENDM
00467 ;-------------------------------------------------------------------------------------------------
00468 DWORD_BYTE MACRO DWORDIN,BYTEOUT
00469 BYTE_BYTE DWORDIN,BYTEOUT
00470 ENDM
00471 ;-------------------------------------------------------------------------------------------------
00472 DWORD_WORD MACRO DWORDIN,WORDOUT
00473 MOVFF DWORDIN + 1,WORDOUT + 1
00474 BYTE_BYTE DWORDIN,WORDOUT
00475 ENDM
00476 ;-------------------------------------------------------------------------------------------------
00477 DWORD_DWORD MACRO DWORDIN,DWORDOUT
00478 MOVFF DWORDIN + 3,DWORDOUT + 3
00479 MOVFF DWORDIN + 2,DWORDOUT + 2
00480 MOVFF DWORDIN + 1,DWORDOUT + 1
00481 BYTE_BYTE DWORDIN,DWORDOUT
00482 ENDM
00483 ;-------------------------------------------------------------------------------------------------
00484 DWORD_BIT MACRO DWORDIN,VAROUT,BITOUT
00485 BYTE_BIT DWORDIN,VAROUT,BITOUT
00486 ENDM
00487 ;-------------------------------------------------------------------------------------------------
00488 NUM_FLOAT MACRO NUMIN,FLOATOUT
00489 NUM_BYTE NUMIN,FLOATOUT + 3
00490 NUM_BYTE ((NUMIN >> 8) & 255),FLOATOUT + 2
00491 NUM_BYTE ((NUMIN >> 16) & 255),FLOATOUT + 1
00492 NUM_BYTE ((NUMIN >> 24) & 255),FLOATOUT
00493 ENDM
00494 ;-------------------------------------------------------------------------------------------------
00495 WREG_FLOAT MACRO FLOATOUT
00496 CALL FLO@0832U
00497 MOVFF PBP_AARG,FLOATOUT
00498 MOVFF PBP_AARGH,FLOATOUT + 1
00499 MOVFF PBP_AARGHH,FLOATOUT + 2
00500 MOVFF PBP_AARGHHH,FLOATOUT + 3
00501 ENDM
00502 ;-------------------------------------------------------------------------------------------------
00503 BIT_FLOAT MACRO VARIN,BITIN,FLOATOUT
00504 BIT_WREG VARIN,BITIN
00505 CALL FLO@0832U
00506 MOVFF PBP_AARG,FLOATOUT
00507 MOVFF PBP_AARGH,FLOATOUT + 1
00508 MOVFF PBP_AARGHH,FLOATOUT + 2
00509 MOVFF PBP_AARGHHH,FLOATOUT + 3
00510 ENDM
00511 ;-------------------------------------------------------------------------------------------------
00512 BYTE_FLOAT MACRO BYTEIN,FLOATOUT
00513 BYTE_WREG BYTEIN
00514 CALL FLO@0832U
00515 MOVFF PBP_AARG,FLOATOUT
00516 MOVFF PBP_AARGH,FLOATOUT + 1
00517 MOVFF PBP_AARGHH,FLOATOUT + 2
00518 MOVFF PBP_AARGHHH,FLOATOUT + 3
00519 ENDM
00520 ;-------------------------------------------------------------------------------------------------
00521 WORD_FLOAT MACRO WORDIN,FLOATOUT
00522 BYTE_BYTE WORDIN PBP_AARG
00523 BYTE_BYTE WORDIN + 1 PBP_AARGH
00524 CALL FLO@1632U
00525 MOVFF PBP_AARG,FLOATOUT
00526 MOVFF PBP_AARGH,FLOATOUT + 1
00527 MOVFF PBP_AARGHH,FLOATOUT + 2
00528 MOVFF PBP_AARGHHH,FLOATOUT + 3
00529 ENDM
00530 ;-------------------------------------------------------------------------------------------------
00531 DWORD_FLOAT MACRO DWORDIN,FLOATOUT
00532 MOVFF DWORDIN,PBP_AARG
00533 MOVFF DWORDIN + 1,PBP_AARGH
00534 MOVFF DWORDIN + 2,PBP_AARGHH
00535 MOVFF DWORDIN + 3,PBP_AARGHHH
00536 CALL FLO@3232S
00537 MOVFF PBP_AARG,FLOATOUT
00538 MOVFF PBP_AARGH,FLOATOUT + 1
00539 MOVFF PBP_AARGHH,FLOATOUT + 2
00540 MOVFF PBP_AARGHHH,FLOATOUT + 3
00541 ENDM
00542 ;-------------------------------------------------------------------------------------------------
00543 FLOAT_FLOAT MACRO FLOATIN,FLOATOUT
00544 MOVFF FLOATIN,FLOATOUT
00545 MOVFF FLOATIN + 1,FLOATOUT + 1
00546 MOVFF FLOATIN + 2,FLOATOUT + 2
00547 MOVFF FLOATIN + 3,FLOATOUT + 3
00548 ENDM
00549 ;-------------------------------------------------------------------------------------------------
00550 FLOAT_WREG MACRO FLOATIN
00551
00552 FLOAT_FLOAT FLOATIN,PBP_AARG
00553 CALL INT@3232
00554 ENDM
00555 ;-------------------------------------------------------------------------------------------------
00556 FLOAT_BIT MACRO FLOATIN,VAROUT,BITOUT
00557 FLOAT_FLOAT FLOATIN,PBP_AARG
00558 CALL INT@3232
00559 WREG_BIT VAROUT,BITOUT
00560 ENDM
00561 ;-------------------------------------------------------------------------------------------------
00562 FLOAT_BYTE MACRO FLOATIN,BYTEOUT
00563 FLOAT_FLOAT FLOATIN,PBP_AARG
00564 CALL INT@3232
00565 WREG_BYTE BYTEOUT
00566 ENDM
00567 ;-------------------------------------------------------------------------------------------------
00568 FLOAT_WORD MACRO FLOATIN,WORDOUT
00569 FLOAT_FLOAT FLOATIN,PBP_AARG
00570 CALL INT@3232
00571 MOVFF PBP_AARGHHH,WORDOUT
00572 MOVFF PBP_AARGHH,WORDOUT + 1
00573 ENDM
00574 ;-------------------------------------------------------------------------------------------------
00575 FLOAT_DWORD MACRO FLOATIN,DWORDOUT
00576 FLOAT_FLOAT FLOATIN,PBP_AARG
00577 CALL INT@3232
00578 MOVFF PBP_AARGHHH,DWORDOUT
00579 MOVFF PBP_AARGHH,DWORDOUT + 1
00580 MOVFF PBP_AARGH,DWORDOUT + 2
00581 MOVFF PBP_AARG,DWORDOUT + 3
00582 ENDM
00000000 00090 BPF = 0
00000001 00091 BPFH = 1
00000002 00092 CSTR@CT = 2
00000003 00093 GEN = 3
00000004 00094 GEN2 = 4
00000005 00095 GEN2H = 5
00000006 00096 GEN3 = 6
00000007 00097 GEN3H = 7
00000008 00098 GEN4 = 8
00000009 00099 GEN4H = 9
0000000A 00100 GENH = 10
0000000B 00101 GPR = 11
0000000C 00102 PBP#RND = 12
0000000D 00103 PBP#RNDH = 13
0000000E 00104 PBP#VAR0 = 14
0000000F 00105 PBP#VAR0H = 15
00000010 00106 PBP#VAR1 = 16
00000011 00107 PBP#VAR1H = 17
00000012 00108 PP0 = 18
00000013 00109 PP0H = 19
00000014 00110 PP0HH = 20
00000015 00111 PP0HHH = 21
00000016 00112 PP1 = 22
00000017 00113 PP1H = 23
00000018 00114 PP2 = 24
00000019 00115 PP2H = 25
0000001A 00116 PP2HH = 26
0000001B 00117 PP2HHH = 27
0000001C 00118 PP3 = 28
0000001D 00119 PP3H = 29
0000001E 00120 PP4 = 30
0000001F 00121 PP4H = 31
00000020 00122 PP5 = 32
00000021 00123 PP5H = 33
00000022 00124 PP6 = 34
00000023 00125 PP6H = 35
00000024 00126 PP7 = 36
00000025 00127 PP7H = 37
00000026 00128 PP7HH = 38
00000027 00129 PP7HHH = 39
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -