📄 basic-52.lst
字号:
598: 019A 89 DB 89H ;PRINT TOKEN
599: 019B 50 52 49 4E DB 'PRINT'
019F 54
600: 01A0 89 DB 89H
601: 01A1 50 2E DB 'P.' ;P. ALSO MEANS PRINT
602: 01A3 89 DB 89H ;? ALSO
603: 01A4 3F DB '?'
604: ;
605: 01A5 8A DB 8AH ;CALL TOKEN
606: 01A6 43 41 4C 4C DB 'CALL'
607: ;
608: 01AA 8B DB 8BH ;DIMENSION TOKEN
609: 01AB 44 49 4D DB 'DIM'
610: ;
611: 01AE 8C DB 8CH ;STRING TOKEN
612: 01AF 53 54 52 49 DB 'STRING'
01B3 4E 47
613: ;
614: 01B5 8D DB 8DH ;SET BAUD RATE
615: 01B6 42 41 55 44 DB 'BAUD'
616: ;
617: 01BA 8E DB 8EH ;CLOCK
618: 01BB 43 4C 4F 43 DB 'CLOCK'
01BF 4B
619: ;
620: 01C0 8F DB 8FH ;PRINT HEX MODE 1
621: 01C1 50 48 31 2E DB 'PH1.'
622: ;
623: N 0090 T_STOP EQU 90H ;STOP TOKEN
624: 01C5 90 DB T_STOP
625: 01C6 53 54 4F 50 DB 'STOP'
626: ;
627: N 0090 T_DIR EQU T_STOP ;NO DIRECT FROM HERE ON
628: ;
629: 01CA 91 DB T_STOP+1 ;ON TIMER INTERRUPT
630: 01CB 4F 4E 54 49 DB 'ONTIME'
01CF 4D 45
631: ;
632: 01D1 92 DB T_STOP+2 ;ON EXTERNAL INTERRUPT
633: 01D2 4F 4E 45 58 DB 'ONEX1'
01D6 31
634: ;
635: 01D7 93 DB T_STOP+3 ;RETURN FROM INTERRUPT
636: 01D8 52 45 54 49 DB 'RETI'
637: ;
638: 01DC 94 DB T_STOP+4 ;DO TOKEN
639: 01DD 44 4F DB 'DO'
640: ;
641: 01DF 95 DB T_STOP+5 ;RESTORE TOKEN
642: 01E0 52 45 53 54 DB 'RESTORE'
01E4 4F 52 45
643: ;
644: $EJECT
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 18
Line I Addr Code Source
645: N 0096 T_REM EQU T_STOP+6 ;REMARK TOKEN
646: 01E7 96 DB T_REM
647: 01E8 52 45 4D DB 'REM'
648: ;
649: 01EB 97 DB T_REM+1 ;NEXT TOKEN
650: 01EC 4E 45 58 54 DB 'NEXT'
651: ;
652: 01F0 98 DB T_REM+2 ;ON ERROR TOKEN
653: 01F1 4F 4E 45 52 DB 'ONERR'
01F5 52
654: ;
655: 01F6 99 DB T_REM+3 ;ON TOKEN
656: 01F7 4F 4E DB 'ON'
657: ;
658: 01F9 9A DB T_REM+4 ;INPUT
659: 01FA 49 4E 50 55 DB 'INPUT'
01FE 54
660: ;
661: 01FF 9B DB T_REM+5 ;READ
662: 0200 52 45 41 44 DB 'READ'
663: ;
664: N 009C T_DATA EQU T_REM+6 ;DATA
665: 0204 9C DB T_DATA
666: 0205 44 41 54 41 DB 'DATA'
667: ;
668: 0209 9D DB T_DATA+1 ;RETURN
669: 020A 52 45 54 55 DB 'RETURN'
020E 52 4E
670: ;
671: 0210 9E DB T_DATA+2 ;IF
672: 0211 49 46 DB 'IF'
673: ;
674: N 009F T_GOSB EQU T_DATA+3 ;GOSUB
675: 0213 9F DB T_GOSB
676: 0214 47 4F 53 55 DB 'GOSUB'
0218 42
677: ;
678: 0219 A0 DB T_GOSB+1 ;FOR
679: 021A 46 4F 52 DB 'FOR'
680: ;
681: 021D A1 DB T_GOSB+2 ;WHILE
682: 021E 57 48 49 4C DB 'WHILE'
0222 45
683: ;
684: 0223 A2 DB T_GOSB+3 ;UNTIL
685: 0224 55 4E 54 49 DB 'UNTIL'
0228 4C
686: ;
687: 0229 A3 DB T_GOSB+4 ;END
688: 022A 45 4E 44 DB 'END'
689: ;
690: $EJECT
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 19
Line I Addr Code Source
691: N 00A4 T_LAST EQU T_GOSB+5 ;LAST INITIAL TOKEN
692: ;
693: N 00A4 T_TAB EQU T_LAST ;TAB TOKEN
694: 022D A4 DB T_TAB
695: 022E 54 41 42 DB 'TAB'
696: ;
697: N 00A5 T_THEN EQU T_LAST+1 ;THEN TOKEN
698: 0231 A5 DB T_THEN
699: 0232 54 48 45 4E DB 'THEN'
700: ;
701: N 00A6 T_TO EQU T_LAST+2 ;TO TOKEN
702: 0236 A6 DB T_TO
703: 0237 54 4F DB 'TO'
704: ;
705: N 00A7 T_STEP EQU T_LAST+3 ;STEP TOKEN
706: 0239 A7 DB T_STEP
707: 023A 53 54 45 50 DB 'STEP'
708: ;
709: N 00A8 T_ELSE EQU T_LAST+4 ;ELSE TOKEN
710: 023E A8 DB T_ELSE
711: 023F 45 4C 53 45 DB 'ELSE'
712: ;
713: N 00A9 T_SPC EQU T_LAST+5 ;SPACE TOKEN
714: 0243 A9 DB T_SPC
715: 0244 53 50 43 DB 'SPC'
716: ;
717: N 00AA T_CR EQU T_LAST+6
718: 0247 AA DB T_CR
719: 0248 43 52 DB 'CR'
720: ;
721: 024A AB DB T_CR+1
722: 024B 49 44 4C 45 DB 'IDLE'
723: ;
724: 024F AC DB T_CR+2
725: 0250 53 54 40 DB 'ST@'
726: ;
727: 0253 AD DB T_CR+3
728: 0254 4C 44 40 DB 'LD@'
729: ;
730: 0257 AE DB T_CR+4
731: 0258 50 47 4D DB 'PGM'
732: ;
733: 025B AF DB T_CR+5
734: 025C 52 52 4F 4D DB 'RROM'
735: ;
736: $EJECT
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 20
Line I Addr Code Source
737: ; Operator tokens
738: ;
739: N 00E0 T_LPAR EQU 0E0H ;LEFT PAREN
740: 0260 E0 DB T_LPAR
741: 0261 28 DB '('
742: ;
743: 0262 E1 DB T_LPAR+1 ;EXPONENTIAN
744: 0263 2A 2A DB '**'
745: ;
746: 0265 E2 DB T_LPAR+2 ;FP MULTIPLY
747: 0266 2A DB '*'
748: ;
749: N 00E3 T_ADD EQU T_LPAR+3
750: 0267 E3 DB T_LPAR+3 ;ADD TOKEN
751: 0268 2B DB '+'
752: ;
753: 0269 E4 DB T_LPAR+4 ;DIVIDE TOKEN
754: 026A 2F DB '/'
755: ;
756: N 00E5 T_SUB EQU T_LPAR+5 ;SUBTRACT TOKEN
757: 026B E5 DB T_SUB
758: 026C 2D DB '-'
759: ;
760: 026D E6 DB T_LPAR+6 ;LOGICAL EXCLUSIVE OR
761: 026E 2E 58 4F 52 DB '.XOR.'
0272 2E
762: ;
763: 0273 E7 DB T_LPAR+7 ;LOGICAL AND
764: 0274 2E 41 4E 44 DB '.AND.'
0278 2E
765: ;
766: 0279 E8 DB T_LPAR+8 ;LOGICAL OR
767: 027A 2E 4F 52 2E DB '.OR.'
768: ;
769: N 00E9 T_NEG EQU T_LPAR+9
770: ;
771: N 00EA T_EQU EQU T_LPAR+10 ;EQUAL
772: 027E EA DB T_EQU
773: 027F 3D DB '='
774: ;
775: 0280 EB DB T_LPAR+11 ;GREATER THAN OR EQUAL
776: 0281 3E 3D DB '>='
777: ;
778: 0283 EC DB T_LPAR+12 ;LESS THAN OR EQUAL
779: 0284 3C 3D DB '<='
780: ;
781: 0286 ED DB T_LPAR+13 ;NOT EQUAL
782: 0287 3C 3E DB '<>'
783: ;
784: 0289 EE DB T_LPAR+14 ;LESS THAN
785: 028A 3C DB '<'
786: ;
787: 028B EF DB T_LPAR+15 ;GREATER THAN
788: 028C 3E DB '>'
789: ;
790: ;
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 21
Line I Addr Code Source
791: N 00B0 T_UOP EQU 0B0H ;UNARY OP BASE TOKEN
792: ;
793: 028D B0 DB T_UOP ;ABS TOKEN
794: 028E 41 42 53 DB 'ABS'
795: ;
796: 0291 B1 DB T_UOP+1 ;INTEGER TOKEN
797: 0292 49 4E 54 DB 'INT'
798: ;
799: 0295 B2 DB T_UOP+2 ;SIGN TOKEN
800: 0296 53 47 4E DB 'SGN'
801: ;
802: 0299 B3 DB T_UOP+3 ;GET TOKEN
803: 029A 4E 4F 54 DB 'NOT'
804: ;
805: 029D B4 DB T_UOP+4 ;COSINE TOKEN
806: 029E 43 4F 53 DB 'COS'
807: ;
808: 02A1 B5 DB T_UOP+5 ;TANGENT TOKEN
809: 02A2 54 41 4E DB 'TAN'
810: ;
811: 02A5 B6 DB T_UOP+6 ;SINE TOKEN
812: 02A6 53 49 4E DB 'SIN'
813: ;
814: 02A9 B7 DB T_UOP+7 ;SQUARE ROOT TOKEN
815: 02AA 53 51 52 DB 'SQR'
816: ;
817: 02AD B8 DB T_UOP+8 ;CBYTE TOKEN
818: 02AE 43 42 59 DB 'CBY'
819: ;
820: 02B1 B9 DB T_UOP+9 ;EXP (E TO THE X) TOKEN
821: 02B2 45 58 50 DB 'EXP'
822: ;
823: 02B5 BA DB T_UOP+10
824: 02B6 41 54 4E DB 'ATN'
825: ;
826: 02B9 BB DB T_UOP+11
827: 02BA 4C 4F 47 DB 'LOG'
828: ;
829: 02BD BC DB T_UOP+12 ;DBYTE TOKEN
830: 02BE 44 42 59 DB 'DBY'
831: ;
832: 02C1 BD DB T_UOP+13 ;XBYTE TOKEN
833: 02C2 58 42 59 DB 'XBY'
834: ;
835: N 00BE T_ULAST EQU T_UOP+14 ;LAST OPERATOR NEEDING PARENS
836: ;
837: 02C5 BE DB T_ULAST
838: 02C6 50 49 DB 'PI'
839: ;
840: 02C8 BF DB T_ULAST+1 ;RND TOKEN
841: 02C9 52 4E 44 DB 'RND'
842: ;
843: 02CC C0 DB T_ULAST+2 ;GET TOKEN
844: 02CD 47 45 54 DB 'GET'
845: ;
846: 02D0 C1 DB T_ULAST+3 ;FREE TOKEN
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 22
Line I Addr Code Source
847: 02D1 46 52 45 45 DB 'FREE'
848: ;
849: 02D5 C2 DB T_ULAST+4 ;LEN TOKEN
850: 02D6 4C 45 4E DB 'LEN'
851: ;
852: N 00C3 T_XTAL EQU T_ULAST+5 ;CRYSTAL TOKEN
853: 02D9 C3 DB T_XTAL
854: 02DA 58 54 41 4C DB 'XTAL'
855: ;
856: N 00C4 T_MTOP EQU T_ULAST+6 ;MTOP
857: 02DE C4 DB T_MTOP
858: 02DF 4D 54 4F 50 DB 'MTOP'
859: ;
860: N 00C6 T_IE EQU T_ULAST+8 ;IE REGISTER
861: 02E3 C6 DB T_IE
862: 02E4 49 45 DB 'IE'
863: ;
864: N 00C7 T_IP EQU T_ULAST+9 ;IP REGISTER
865: 02E6 C7 DB T_IP
866: 02E7 49 50 DB 'IP'
867: ;
868: N 00C8 TMR0 EQU T_ULAST+10 ;TIMER 0
869: 02E9 C8 DB TMR0
870: 02EA 54 49 4D 45 DB 'TIMER0'
02EE 52 30
871: ;
872: N 00C9 TMR1 EQU T_ULAST+11 ;TIMER 1
873: 02F0 C9 DB TMR1
874: 02F1 54 49 4D 45 DB 'TIMER1'
02F5 52 31
875: ;
876: N 00CA TMR2 EQU T_ULAST+12 ;TIMER 2
877: 02F7 CA DB TMR2
878: 02F8 54 49 4D 45 DB 'TIMER2'
02FC 52 32
879: ;
880: N 00C5 T_TIME EQU T_ULAST+7 ;TIME
881: 02FE C5 DB T_TIME
882: 02FF 54 49 4D 45 DB 'TIME'
883: ;
884: N 00CB TT2C EQU T_ULAST+13 ;T2CON
885: 0303 CB DB TT2C
886: 0304 54 32 43 4F DB 'T2CON'
0308 4E
887: ;
888: N 00CC TTC EQU T_ULAST+14 ;TCON
889: 0309 CC DB TTC
890: 030A 54 43 4F 4E DB 'TCON'
891: ;
892: N 00CD TTM EQU T_ULAST+15 ;TMOD
893: 030E CD DB TTM
894: 030F 54 4D 4F 44 DB 'TMOD'
895: ;
896: N 00CE TRC2 EQU T_ULAST+16 ;RCAP2
897: 0313 CE DB TRC2
898: 0314 52 43 41 50 DB 'RCAP2'
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 23
Line I Addr Code Source
0318 32
899: ;
900: N 00CF T_P1 EQU T_ULAST+17 ;P1
901: 0319 CF DB T_P1
902: 031A 50 4F 52 54 DB 'PORT1'
031E 31
903: ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -