commit - c756c2590a05ea760d8c0ee270fb4d3f111a23e6
commit + e01ddeac0a752a82fba5d7ff7c3b8806291ba22d
blob - ba9a340a1ee8b23f27e0205a0374261e0fbf467e
blob + 65e49d6b9cfc2cf28b98b4810ad613bbd5228aab
Binary files BASASM,PRG and BASASM,PRG differ
blob - b5f79980d87e933e152e10768138832a99e69821
blob + fa1faca8e3ff37ce869f28fe0df7d3407ad9f173
--- BASASM.lst
+++ BASASM.lst
0 REM BASASM - A SIMPLE ASSEMBLER MADE
-1 REM V.23 IN BASIC. PESCO 2026
+1 REM V.24 IN BASIC. PESCO 2026
2 REM 10 VARIABLES 700 *SAVE TO PRG
3 REM 100 LOAD OPCODES 720 *PRINT SEQ F
4 REM 130 SUBROUTINES 740 *MEMSTAT
9 REM 900 OPCODE TBL 1000 ASSEMBLY PGM
10 O = 49152 :REM STARTING POSITION
11 P = O :REM CURRENT POSITION
-13 UN = 0 :REM UNDEF SYMBOL COUNT
-14 XX = 666666 :REM "IMPOSSIBLE" VALUE
+12 PP = P :REM MIN. POSITION
+13 PQ = P :REM MAX. POSITION
+15 UN = 0 :REM UNDEF SYMBOL COUNT
+16 XX = 666666 :REM "IMPOSSIBLE" VALUE
20 MN% = 150 :REM MNEMONIC MAX
21 DIM MN$(MN%) :REM INST MNEMONICS
22 DIM OP%(MN%) :REM INST OPCODES
297 RETURN
298 REM
299 REM - AFTER END OF INPUT -
-300 PRINT "PATCH FWD REFS..."
-305 GOSUB 370 :REM PATCH FWD REFS
+300 IF P > PQ THEN PQ = P
+305 PRINT "PATCH FWD REFS..."
+306 GOSUB 370 :REM PATCH FWD REFS
310 IF UN = 0 THEN 340
320 PRINT "UNDEFINED SYMBOLS:"
325 FOR I = 0 TO SY%
330 IF SY(I) = XX THEN PRINT SY$(I),;
335 NEXT: PRINT
340 PRINT "ASSEMBLY FINISHED."
-341 PRINT "O ="; O; TAB(12); "P ="; P;
-342 PRINT TAB(24); "P-O ="; P-O
+341 PRINT "P =";PP; TAB(12); "Q =";PQ;
+342 PRINT TAB(24); "Q-P ="; PQ-PP
350 END
368 REM
369 REM SUB: PATCH FWD SYMBOL REFS
519 REM .= - CHANGE CURRENT POSITION
520 READ A$: GOSUB 150
521 PRINT MID$(STR$(A), 2)
-522 P = A
-523 GOTO 499
+524 IF P > PQ THEN PQ = P
+525 P = A
+526 IF P < PP THEN PP = P
+527 GOTO 499
528 REM
529 REM .DB - OUTPUT RAW DATA BYTE
530 M$ = "": L% = 1: READ L$