commit b1c4e463441de909c2ef7022d47b3783eb025b53 from: Sven M. Hallberg date: Thu Jun 11 19:02:42 2026 UTC update MANUAL for BASASM.30 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 .