Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Basic Misc > Re: 1980 Basic ...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 26 of 51 Topic 1442 of 1488
Post > Topic >>

Re: 1980 Basic Sought

by "Judson McClendon" <judmc@[EMAIL PROTECTED] > Apr 8, 2008 at 08:33 AM

"Tom Lake" <tlake@[EMAIL PROTECTED]
> wrote:
> <ArarghMail804NOSPAM@[EMAIL PROTECTED]
> wrote:
>>
>> All very true, but wouldn't "LEFT$(a$,1)" still be a lot easier?
>
> Oh, you want *easy* do you?  8^)
>
> My simple example was just to show how SSEG and SADD work.
> In practice, you'd use those functions to store ML routines in the
> string or to do string manipulation without fear of garbage
> collection (just make sure you DON'T change the string length!)
>
> Here's a more practical example:
>
> To change "him" to "her" you could do this:
>
> a$ = "him"
> MID$(a$, 2) = "er"
>
> but this would cause BASIC to make temp strings and
> possibly move a$ around in memory. and trigger a garbage
> collection.
>
> If you do this:
>
> a$ = "him"
> Segment = SSEG(a$)
> Offset = SADD(a$)
> DEF SEG = Segment
> POKE Offset + 1, ASC("e")
> POKE Offset + 2, ASC("r")
>
> This won't trigger garbage collection and is actually
> faster than the MID$ method.

Tom, I believe you realize this, though you didn't specifically state
it. But for those not aware, these operations *are* still subject to
garbage collection that is triggered from other code. For example, if
the address of the string is retreived, then used later. All of the
code to use any string address must execute immediately after the
retreival of the address, and no garbage collection is triggered in
the meantime. If the address is needed later, it should be retreived
again later. Even then, it isn't completely safe, if there is string
handling that could be triggered by interrupts, like a timer. :-)

There's probably a lot of code out there that does this kind of thing,
then is subject to s****adic failures that are never disgnosed. Even
if your program doesn't have any interrupt servicing code, what happens
if such code is later added, or this code is copied into a another
program that does have, or later will have, interrupts? Such bugs are
notoriously difficult to find and correct. I avoid doing this kind of
thing like the plague, for just this reason. :-)
-- 
Judson McClendon       judmc@[EMAIL PROTECTED]
 (remove zero)
Sun Valley Systems     http://sunvaley.com
"For God so loved the world that He gave His only begotten Son, that
whoever believes in Him should not perish but have everlasting life."
 




 51 Posts in Topic:
1980 Basic Sought
david.williams@[EMAIL PRO  2008-03-14 09:56:13 
Re: 1980 Basic Sought
winston19842005 <bjjly  2008-03-14 10:23:56 
Re: 1980 Basic Sought
"Judson McClendon&qu  2008-03-14 09:35:58 
Re: 1980 Basic Sought
winston19842005 <bjjly  2008-03-14 10:45:09 
Re: 1980 Basic Sought
"Judson McClendon&qu  2008-03-14 11:06:08 
Re: 1980 Basic Sought
ArarghMail803NOSPAM@[EMAI  2008-03-14 18:09:14 
Re: 1980 Basic Sought
"Tom Lake" <  2008-03-14 21:29:01 
Re: 1980 Basic Sought
ArarghMail803NOSPAM@[EMAI  2008-03-14 22:58:33 
Re: 1980 Basic Sought
"R.Nicholson" &  2008-04-08 11:20:03 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-08 23:27:54 
Re: 1980 Basic Sought
"news@[EMAIL PROTECT  2008-04-10 01:29:14 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-10 04:19:38 
Re: 1980 Basic Sought
"R.Nicholson" &  2008-04-10 10:53:00 
Re: 1980 Basic Sought
"Stephen J. Rush&quo  2008-04-08 03:29:05 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-08 04:44:07 
Re: 1980 Basic Sought
thomas.mertes@[EMAIL PROT  2008-04-07 01:50:52 
Re: 1980 Basic Sought
"Tom Lake" <  2008-04-07 07:55:55 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-07 18:43:27 
Re: 1980 Basic Sought
"Tom Lake" <  2008-04-07 21:22:26 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-07 21:20:53 
Re: 1980 Basic Sought
"Tom Lake" <  2008-04-07 23:08:17 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-08 00:21:08 
Re: 1980 Basic Sought
"Tom Lake" <  2008-04-08 04:35:55 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-08 04:45:15 
Re: 1980 Basic Sought
"Tom Lake" <  2008-04-08 08:29:29 
Re: 1980 Basic Sought
"Judson McClendon&qu  2008-04-08 08:33:38 
Re: 1980 Basic Sought
"Tom Lake" <  2008-04-08 15:29:56 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-08 23:18:16 
Re: 1980 Basic Sought
"Auric__" <n  2008-04-09 20:21:32 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-09 15:36:54 
Re: 1980 Basic Sought
"Auric__" <n  2008-04-09 20:40:42 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-09 16:35:42 
Re: 1980 Basic Sought
"Auric__" <n  2008-04-09 21:58:24 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-09 18:42:45 
Re: 1980 Basic Sought
"Auric__" <n  2008-04-10 15:43:33 
Re: 1980 Basic Sought
"Judson McClendon&qu  2008-04-09 17:20:01 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-09 18:58:15 
Re: 1980 Basic Sought
"Judson McClendon&qu  2008-04-10 09:20:41 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-10 21:54:34 
Re: 1980 Basic Sought
"R.Nicholson" &  2008-04-08 21:51:43 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-09 02:52:08 
Re: 1980 Basic Sought
"Bill Leary" &l  2008-04-09 07:02:03 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-09 07:22:45 
Re: 1980 Basic Sought
"Judson McClendon&qu  2008-04-09 08:35:22 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-09 09:21:04 
Re: 1980 Basic Sought
"Judson McClendon&qu  2008-04-09 10:01:21 
Re: 1980 Basic Sought
"Bill Leary" &l  2008-04-10 01:17:20 
Re: 1980 Basic Sought
"Judson McClendon&qu  2008-03-14 09:32:59 
Re: 1980 Basic Sought
Charmed Snark <snark@[  2008-03-14 16:04:19 
Re: 1980 Basic Sought
"Judson McClendon&qu  2008-03-14 13:49:57 
Re: 1980 Basic Sought
Charmed Snark <snark@[  2008-03-15 04:11:49 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Sun Jul 6 20:36:53 CDT 2008.