Commit Diff


commit - 5be51053e102d292dc994302c0c314c55e9e6bb2
commit + b1c4e463441de909c2ef7022d47b3783eb025b53
blob - 20efe096abc672af32251048fc34d8ddf35672d7
blob + c57019b0d4462c4e715f7983beb1c023857f6fb7
Binary files MANUAL,PRG and MANUAL,PRG differ
blob - 407fcaee883c734098cba1adbccf7dcb9464dffb
blob + cbfefef30516f56e72238dda1a4fa849d12a93c0
--- MANUAL.lst
+++ MANUAL.lst
@@ -21,8 +21,8 @@
 82 PRINT "                    ";
 83 PRINT "                   {91}{91}{91}"
 89 END
-1000 DATA "               {12} BASASM {92}           V.27
-1010 DATA "               {12} README {92}
+1000 DATA "               {12} BASASM {92}           V.30
+1010 DATA "               {12} MANUAL {92}
 1020 DATA
 1030 DATA
 1040 DATA "THE {12}BASASM{92} PROGRAM IMPLEMENTS A SIMPLE
@@ -47,32 +47,40 @@
 1200 DATA ICAL  EXAMPLE PROGRAM  THAT SHOULD DE-
 1210 DATA MONSTRATE THE PRINCIPLE.
 1220 DATA
-1230 DATA SYMBOLIC LABELS ARE DEFINED BY PLACING
-1240 DATA "THEM WHERE AN INSTRUCTION IS EXPECTED,
-1250 DATA PREFIXED BY A QUOTE (') CHARACTER.
-1251 DATA
-1252 DATA SYMBOLS OF  ARBITRARY VALUE CAN BE DE-
-1253 DATA FINED BY APPENDING  AN EQUALS SIGN (=)
-1254 DATA AND SUPPLYING THE DESIRED VALUE AS THE
-1255 DATA NEXT DATA ELEMENT.
+1221 DATA"SYMBOLIC LABELS ARE DEFINED BY PLACING
+1222 DATA"THEM WHERE AN INSTRUCTION IS EXPECTED,
+1223 DATA"PREFIXED BY A QUOTE (') CHARACTER. TWO
+1224 DATA"CONSECUTIVE QUOTE CHARACTERS INTRODUCE
+1225 DATA"A LOCAL LABEL, WHERE THE SECOND QUOTE/
+1226 DATA"APOSTROPHE FORMS PART OF ITS NAME, FOR
+1227 DATA"EXAMPLE {12}'1{92}, {12}'ERR{92}, ETC. SUCH LOCAL SYM-
+1228 DATA"BOLS ARE VALID ONLY UP TO THE NEXT TOP
+1229 DATA"LEVEL (GLOBAL) LABEL. FORWARD REFEREN-
+1230 DATA"CES ARE ALLOWED.
+1250 DATA
+1252 DATA"SYMBOLS OF ARBITRARY VALUE ARE DEFINED
+1253 DATA"BY STATING THE SYMBOL NAME WITH AN AP-
+1254 DATA"PENDED  EQUALS SIGN (=)  AND SUPPLYING
+1255 DATA"THE DESIRED VALUE AS THE NEXT {12}DATA{92} EL-
+1256 DATA EMENT.
 1260 DATA
-1261 DATA "WHERE NEEDED, THE HIGH BYTE (MSB) OF A
-1262 DATA VALUE (SYMBOLIC OR LITERAL) CAN BE OB-
-1263 DATA TAINED BY  APPENDING AN  UP ARROW (↑).
-1264 DATA AN  APPENDED PLUS SIGN (+) YIELDS  THE
-1265 DATA VALUE INCREMENTED BY ONE.
+1261 DATA"THE HIGH BYTE (MSB) OF A VALUE (SYMBOL
+1262 DATA"OR LITERAL) CAN BE OBTAINED BY APPEND-
+1263 DATA"ING A PERCENT SIGN (%). AN APPENDED UP
+1264 DATA"ARROW (↑) YIELDS THE NUMERICAL SUCCES-
+1265 DATA"SOR (VALUE INCREMENTED BY 1).
 1269 DATA
 1270 DATA IN  ADDITION  TO REGULAR  INSTRUCTIONS
 1280 DATA "AND LABELS,  {12}BASASM{92}  RECOGNIZES A  FEW
 1290 DATA "DIRECTIVES:
 1300 DATA
-1310 DATA "  {12}.DB,VAL...{92}  INSERT BYTE VALUE(S)
-1320 DATA "  {12}.DW,VAL...{92}  INSERT 16-BIT WORD(S)
-1330 DATA "  {12}.DZ,N{92}       INSERT N ZERO BYTES
-1340 DATA "  {12}.DS,STR{92}     INSERT STRING
-1350 DATA "  {12}.DSZ,STR{92}    INSERT ZERO-TERM. STRING
-1360 DATA "  {12}.LIM,POS{92}    ASSERT OUTPUT LIMIT
-1361 DATA "  {12}.=,POS{92}      MODIFY OUTPUT POSITION
+1310 DATA "  {12}.DB, VAL...{92} INSERT BYTE VALUE(S)
+1320 DATA "  {12}.DW, VAL...{92} INSERT 16-BIT WORD(S)
+1330 DATA "  {12}.DZ, N{92}      INSERT N ZERO BYTES
+1340 DATA "  {12}.DS, STR{92}    INSERT STRING
+1350 DATA "  {12}.DSZ, STR{92}   INSERT ZERO-TERM. STRING
+1360 DATA "  {12}.LIM, POS{92}   ASSERT OUTPUT LIMIT
+1361 DATA "  {12}.=, POS{92}     MODIFY OUTPUT POSITION
 1365 DATA "  {12}.END{92}        SIGNAL END OF INPUT
 1370 DATA
 1375 DATA "THE {12}.DB{92} AND {12}.DW{92} DIRECTIVES ACCEPT MUL-
@@ -93,34 +101,62 @@
 1433 DATA THAN THE GIVEN LIMIT. IT DOES NOT CON-
 1434 DATA STRAIN FUTURE POSITIONS.
 1439 DATA
-1440 DATA "WHEN FINISHED, THE MINIMUM AND MAXIMUM
-1441 DATA ADDRESSES REACHED  ARE REPORTED AS 'P'
-1442 DATA "AND 'Q', RESPECTIVELY,  AS WELL AS THE
-1443 DATA DISTANCE BETWEEN THEM (Q-P).  THE ASS-
-1444 DATA "EMBLED  PROGRAM CAN BE  SAVED TO A {12}PRG{92}
-1445 DATA "FILE BY {12}RUN{92}ING THE  SUBPROGRAM AT LINE
-1446 DATA 700 AND PROVIDING THESE ADDRESSES.
+1440 DATA"UPON STARTUP, THE LIST OF 6502 {12}OPCODES{92}
+1441 DATA"IS LOADED FROM THE LAST ACTIVE DEVICE.
+1442 DATA"THIS SHOULD NORMALLY BE  THE SAME DISK
+1443 DATA"DRIVE USED TO LOAD {12}BASASM{92}.  OTHERWISE,
+1444 DATA"RUN THE SUBPROGRAM AT LINE 750 WITH AN
+1445 DATA"EMPTY COMMAND.
 1450 DATA
-1460 DATA "IN TOTAL,  THE FOLLOWING UTILITIES ARE
-1470 DATA "SUPPLIED AS SUBPROGRAMS:
+1460 DATA"WHEN FINISHED, THE MINIMUM AND MAXIMUM
+1461 DATA"ADDRESSES REACHED  ARE REPORTED AS 'P'
+1462 DATA"AND 'Q', RESPECTIVELY,  AS WELL AS THE
+1463 DATA"DISTANCE BETWEEN THEM (Q-P).  THE ASS-
+1464 DATA"EMBLED  PROGRAM CAN BE  SAVED TO A {12}PRG{92}
+1465 DATA"FILE BY RUNNING THE SUBPROGRAM AT LINE
+1466 DATA"700 AND PROVIDING THESE ADDRESSES.
+1470 DATA
+1480 DATA"THE FOLLOWING SUBPROGRAMS ARE SUPPLIED
+1481 DATA "AS PART OF {12}BASASM{92}:
 1490 DATA
-1500 DATA "   {12}RUN 700{92}  WRITE MEMORY TO {12}PRG{92} FILE
-1510 DATA "   {12}RUN 720{92}  PRINT {12}SEQ{92} FILE TO SCREEN
-1511 DATA "   {12}RUN 740{92}  SHOW {12}BASIC{92} MEMORY LAYOUT
-1512 DATA "   {12}RUN 750{92}  DISK COMMAND / STATUS
-1513 DATA "   {12}RUN 760{92}  SCRATCH (DELETE) FILE(S)
-1514 DATA "   {12}RUN 770{92}  SCRATCH AND SAVE OVER
-1515 DATA "   {12}RUN 777{92}  SCRATCH, SAVE, AND RUN
-1520 DATA "   {12}RUN 800{92}  HEXDUMP MEMORY TO SCREEN
+1500 DATA"  {12}GOTO 700{92}  WRITE MEMORY TO {12}PRG{92} FILE
+1510 DATA"  {12}GOTO 720{92}  PRINT {12}SEQ{92} FILE TO SCREEN
+1511 DATA"  {12}GOTO 740{92}  SHOW {12}BASIC{92} MEMORY LAYOUT
+1512 DATA"  {12}GOTO 750{92}  DISK COMMAND / STATUS
+1513 DATA"  {12}GOTO 760{92}  SCRATCH (DELETE) FILE(S)
+1514 DATA"  {12}GOTO 770{92}  SCRATCH AND {12}SAVE{92} OVER
+1515 DATA"  {12}GOTO 777{92}  SCRATCH, {12}SAVE{92}, AND {12}RUN{92}
+1520 DATA"  {12}GOTO 800{92}  HEXDUMP MEMORY TO SCREEN
 1530 DATA
-1540 DATA "FOR ANY DETAILS I'VE FORGOTTEN, PLEASE
-1550 DATA CONSULT THE PROGRAM  SOURCE CODE -- IT
-1560 DATA SHOULD NOT BE TOO DIFFICULT TO FOLLOW.
-1570 DATA A MAP OF THE MAJOR SECTIONS IS LOCATED
-1580 DATA AT THE TOP OF THE FILE.
-1585 DATA
-1590 DATA NOW SHUT UP AND HACK!
+1540 DATA"ALL SUBPROGRAMS END IN SUCH A WAY THAT
+1541 DATA"THE {12}CONT{92} COMMAND WILL RERUN THE ASSEM-
+1542 DATA"BLER WITHOUT HAVING TO LOAD THE OPCODE
+1543 DATA"TABLE AGAIN.
+1550 DATA
+1560 DATA"A SET OF MACHINE LANGUAGE UTILITIES IS
+1561 DATA"SUPPLIED  ALONGSIDE {12}BASASM{92}  WHICH MAKE
+1562 DATA"IT  FEASIBLE TO WORK ON PROGRAMS  OF A
+1563 DATA"MODERATE SIZE.  {12}LOAD{92} AND {12}RUN{92}  THE FILE
+1564 DATA"{12}LINEUTIL{92} TO MAKE THESE AVAILABLE:
+1570 DATA
+1580 DATA"  {12}SYS 50000{92}  COUNT PROGRAM LINES
+1581 DATA"  {12}SYS 50010{92}  DELETE LINE RANGE
+1582 DATA"  {12}SYS 50020{92}  APPEND {12}PRG{92} FILE
+1583 DATA"  {12}SYS 50030{92}  {12}SAVE{92} LINE RANGE AS {12}PRG{92}
+1584 DATA"  {12}SYS 50040{92}  SHIFT (MOVE) LINE RANGE
+1590 DATA
+1600 DATA"THEIR SOURCE CODE IN {12}LINEUTIL.B{92} PROVI-
+1601 DATA"DES A REAL-WORLD EXAMPLE THAT UTILIZES
+1602 DATA"ALL MAJOR FEATURES OF THE ASSEMBLER.
+1610 DATA
+1680 DATA"FOR ANY DETAILS I'VE FORGOTTEN, PLEASE
+1681 DATA"CONSULT THE PROGRAM  SOURCE CODE -- IT
+1682 DATA"SHOULD NOT BE TOO DIFFICULT TO FOLLOW.
+1683 DATA"A MAP OF THE MAJOR SECTIONS IS LOCATED
+1684 DATA"AT THE TOP OF THE FILE.
 1685 DATA
+1698 DATA"NOW SHUT UP AND HACK!
+1699 DATA
 9980 DATA
-9990 DATA "                           PESCO 2026
+9990 DATA"                           PESCO 2026
 9999 DATA .