commit eab8f179442969cf9097eec353e4e951e33e9d14 from: Sven M. Hallberg date: Sun May 31 18:15:34 2026 UTC BASASM.25 commit - b65cbaaa13e26cac781afe68528f103b1b389661 commit + eab8f179442969cf9097eec353e4e951e33e9d14 blob - 65e49d6b9cfc2cf28b98b4810ad613bbd5228aab blob + fdd229461b56abd07b01db3eb09affb67d8fb986 Binary files BASASM,PRG and BASASM,PRG differ blob - fa1faca8e3ff37ce869f28fe0df7d3407ad9f173 blob + 083aeb415b1cab0961df4053dbae5a31fdede2c1 --- BASASM.lst +++ BASASM.lst @@ -1,5 +1,5 @@ 0 REM BASASM - A SIMPLE ASSEMBLER MADE -1 REM V.24 IN BASIC. PESCO 2026 +1 REM V.25 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 @@ -84,9 +84,7 @@ 188 REM 189 REM SUB: WRITE OPERAND 190 IF L% < 1 THEN RETURN -191 IF M$ <> "R" THEN 194 -192 A = A - P - 1: REM RELATIVE ADDR -193 IF A < -128 OR A > 127 THEN END +191 GOSUB 360: REM VALIDATE/PREP A 194 FOR J = 0 TO L% - 1 195 R=A: A=INT(A/256): R=R-A*256 :REM/Q 196 POKE P + J, R @@ -150,7 +148,17 @@ 341 PRINT "P =";PP; TAB(12); "Q =";PQ; 342 PRINT TAB(24); "Q-P ="; PQ-PP 350 END -368 REM +358 REM +359 REM SUB: VALIDATE & PREPARE OPERAND +360 IF M$ <> "R" THEN 364 +361 A = A - P - 1: REM RELATIVE ADDR +362 IF A < -128 OR A > 127 THEN 367 +363 RETURN +364 IF M$ <> "Z" THEN 366 +365 IF A < 0 OR A > 255 THEN 367 +366 RETURN +367 PRINT:PRINT "OPERAND OUT OF RANGE" +368 END 369 REM SUB: PATCH FWD SYMBOL REFS 370 IF PA% = 0 THEN RETURN 371 FOR I = 0 TO PA% - 1 @@ -261,7 +269,7 @@ 718 REM *RUN 720* PRINT SEQ FILE 719 REM 720 GOSUB 760: REM GET D/F -728 OPEN 1,D,2,F$ + ",SEQ,R" +728 OPEN 1,D,2,F$ + ",SEQ,)" 729 IF ST THEN CLOSE 1: END 732 GET# 1, A$: PRINT A$;: GOTO 729 737 REM