Because you can put 22H (SHLD) in a DATA statement but not a string:

65531 DATA m-98&"lkj3

will work just fine. As long as the quote doesn't appear first, READ A$ will read the whole thing. And SHLD is a very useful opcode. You just can't use 2CH (comma) which is opcode INR L, a bit less useful than SHLD I think.

Ken

On 6/5/18 3:42 AM, Stephen Adolph wrote:
why do you like data statements better?

On Tue, Jun 5, 2018 at 6:16 AM, Ken Pettit <[email protected] <mailto:[email protected]>> wrote:

    Yes, it can, but you have to execute the code up there for the
    assignments to occur first.  I tested it last night.  But I also
    discovered DATA statements work better in those lines.

    10 READ A$

    65531 DATA ML here

    Ken


    On 6/5/18 3:13 AM, Stephen Adolph wrote:
    I wonder if a a VARPTR call could find the line in memory?

    10 a=VARPTR(b$)
    ...
    65531 b$="s": Insert ML here


    On Tuesday, June 5, 2018, Ken Pettit <[email protected]
    <mailto:[email protected]>> wrote:

        Hey John,

        Correct, 65530 is listable but cannot be created interactively.

        But want to hear something really cool?  Using the VirtualT
        Memory Editor, I created a BASIC program with not just one,
        but TWO lines numbered 65531!  And BASIC ran both lines
        correctly without complaint.  This means you could have any
        amout of hidden ML code you want that doesn't require the
        special work-around, other than avoiding 00H.

        Using TS-DOS and Emulated NADSBox in VirtualT, I was even
        able to save, kill and re-load this BASIC program with no issues.

        Ken

        On 6/4/18 6:34 PM, John R. Hogerhuis wrote:

        On Mon, Jun 4, 2018 at 6:21 PM Ken Pettit
        <[email protected] <mailto:[email protected]>> wrote:

            Hey John,

            Very interesting.  It looks like the range is actually
            65531-65536 that are invisible.  They don't even show up
            with a full program edit.  You can't GOTO or GOSUB to
            them, but you can put "65529 REM" and then GOSUB 65529.
            Then BASIC will execute the invisible lines.  Very
            nice!  Then you could safely emed ANY ML in strings
            within those lines it appears.


        Haha. Bitchin’ :-)

        So I guess line 65530 is listable you just can’t create a
        line 65530 interactively?

        — John.




Reply via email to