Commit Diff


commit - eab8f179442969cf9097eec353e4e951e33e9d14
commit + 93808d44910f1689e7e65a3485be4347f7754c7b
blob - fdd229461b56abd07b01db3eb09affb67d8fb986
blob + 10316f699de428a19bdb3ee949e9a6b05ddab403
Binary files BASASM,PRG and BASASM,PRG differ
blob - 083aeb415b1cab0961df4053dbae5a31fdede2c1
blob + f40b54e25065a4d9e2771c8bf31510666039f91f
--- BASASM.lst
+++ BASASM.lst
@@ -1,5 +1,5 @@
 0 REM BASASM - A SIMPLE ASSEMBLER MADE
-1 REM V.25     IN BASIC.  PESCO 2026
+1 REM V.26     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
@@ -53,19 +53,24 @@
 146 GOTO 138
 148 REM
 149 REM SUB: PARSE ARGUMENT, SYM OR NUM
-150 PRINT "["; A$; "] ";: B$ = A$
+150 EX = 0: B$ = A$
 151 HI = (RIGHT$(A$,1) = "^")
 152 PL = (RIGHT$(A$,1) = "+")
 153 IF NOT (HI OR PL) THEN 156
-154 A$ = LEFT$(A$, LEN(A$) - 1)
-156 IF ASC(A$) > 64 THEN 158  :REM "A"
-157 GOSUB 130: A$ = B$: GOTO 161
-158 GOSUB 170: A$ = B$
-159 IF SY(A) = XX THEN A% = 1: RETURN
-160 A = SY(A)      :REM GET SYM. VALUE
-161 IF HI THEN A = INT(A / 256)
-162 IF PL THEN A = A + 1
-165 A% = 0: RETURN :REM SUCCESS
+154 EX = 1
+155 A$ = LEFT$(A$, LEN(A$) - 1)
+156 IF ASC(A$) > 64 THEN 160  :REM "A"
+157 IF EX THEN PRINT "["; B$; "] ";
+158 GOSUB 130: A$ = B$: GOTO 165
+159 REM
+160 PRINT "["; B$; "] ";
+161 GOSUB 170: A$ = B$
+162 IF SY(A) = XX THEN A% = 1: RETURN
+163 A = SY(A)      :REM GET SYM. VALUE
+164 REM
+165 IF HI THEN A = INT(A / 256)
+166 IF PL THEN A = A + 1
+167 A% = 0: RETURN :REM SUCCESS
 168 REM
 169 REM SUB: LOOK UP SYMBOL
 170 A = 0
@@ -119,7 +124,7 @@
 255 PRINT P; " UNKNOWN", M$: END
 260 C = OP%(I): L% = LN%(I)
 265 REM OUTPUT CODE
-270 PRINT P; C; TAB(13); M$; " ";
+270 PRINT P; C; TAB(13); M$; TAB(19);
 275 POKE P, C: P = P + 1
 276 M$ = MID$(M$, 4) :REM ADDRESS MODE
 277 IF L% > 0 THEN READ A$: GOSUB 290