Commit Diff


commit - 09d199d623ec10bec6ec8055610375c0407cc5ae
commit + d089d50eabdcd8179fbcb39c660e574b65733d82
blob - aba778c9ba7591f06128295935e39c92f3101fec
blob + ba9a340a1ee8b23f27e0205a0374261e0fbf467e
Binary files BASASM,PRG and BASASM,PRG differ
blob - f9f2e4790523ff1c4cec2e9dd53f9e498df72961
blob + b5f79980d87e933e152e10768138832a99e69821
--- BASASM.lst
+++ BASASM.lst
@@ -1,5 +1,5 @@
 0 REM BASASM - A SIMPLE ASSEMBLER MADE
-1 REM V.22     IN BASIC.  PESCO 2026
+1 REM V.23     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
@@ -180,6 +180,7 @@
 441 IF M$ = ".DSZ" THEN 570
 445 IF M$ = ".DZ" THEN 580
 450 IF M$ = ".=" THEN 520
+455 IF M$ = ".LIM" THEN 590
 490 IF M$ = ".END" THEN 510
 495 PRINT "  UNRECOGNIZED"
 496 END
@@ -230,6 +231,12 @@
 582 IF A <= 0 THEN PRINT N: GOTO 499
 584 POKE P,0: P=P+1
 586 A=A-1: GOTO 582
+588 REM
+589 REM .LIM - LIMIT OUTPUT POSITION
+590 READ A$: GOSUB 150
+591 PRINT MID$(STR$(A), 2)
+592 IF P <= A THEN 499: REM POS VALID
+593 PRINT "LIMIT VIOLATED": END
 697 REM
 698 REM *RUN 700* WRITE MEM TO PRG FILE
 699 REM
blob - 554d0f789071ecf60065b43ff6923fc424438895
blob + d2109d091f0b5e5fdae6f1e9d8002546a48a423a
Binary files TEST.B,PRG and TEST.B,PRG differ
blob - 79ca3cd0374c696c037a0c8b64ffb90d60c70b5e
blob + a4c0d330745e968e58f0ba12d06f67b9683672f0
--- TEST.B.lst
+++ TEST.B.lst
@@ -14,9 +14,11 @@
 1023 DATA HALLO=, -555
 1024 DATA .DB, -1 $16, .DW, HALLO $4242
 1025 DATA  $00, 79, $4D, 16, 39
+1026 DATA .LIM, 49200
 1029 DATA .=, 49200, .DZ, 10
-1030 DATA  AND#, 255
-1040 DATA  ORA, $C80A+
+1030 DATA .LIM, 49210
+1040 DATA  AND#, 255
+1041 DATA  ORA, $C80A+
 1050 DATA  JMP, START+
 2000 DATA .=,49200, BEQR, FAR+
 2001 DATA .=,49328, 'FAR