commit 93808d44910f1689e7e65a3485be4347f7754c7b from: Sven M. Hallberg date: Sun May 31 18:15:35 2026 UTC BASASM.26 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