🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: bit.listserv.asm370
Article #125

Re: Shifting memory to the right

#125
From: David P. de Jongh
Date: Fri, 30 Sep 2005 16:23
84 lines
5061 bytes
Depending on how often the tables are updated, you could use a secondary
area that stores additions.  I assume (though I may be wrong) that you are
using a common look-up routine.  If it gets a miss on the binary search, it
can then do a serial search on the secondary area.  I'm also assuming the
table starts out large and adds a relatively small number of rows over time.
If that is true, you would expect most requests to be satisfied from the
primary area.
When the secondary area gets to be too large, you can just rebuild the
primary area, or sort the overflow entries and merge them into a new area.
If you allocate enough space initially, you could merge the sorted overflow
entries starting at the top end of the primary area.
D de J

-----Original Message-----
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
On Behalf Of Don Nielsen
Sent: Friday, September 30, 2005 9:58 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Shifting memory to the right

> Why not just have the table entries linked with a "next" pointer ?

Binary searching of the tables after they have been loaded.

> Have a second buffer for the table.

Good thought.  There are three tables involved, which are already very large
(75 meg between them).  I'll look into a fourth for buffer space.



-----Original Message-----
From: IBM Mainframe Assembler List
[mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]On Behalf Of Beate Kawelke
Sent: Friday, September 30, 2005 9:14 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Shifting memory to the right


Hmmmm - two thoughts:

1. Why not just have the table entries linked with a "next" pointer ? If
necessary, throw in a "previous" pointer, too. Navigation through the table
is quite easy, and you can add / delete entries simply by chaining them in
the right place.
2. Have a second buffer for the table. Move upper part to buffer, then the
new entry, then the lower part.

HTH, Beate

> -----Original Message-----
> From: IBM Mainframe Assembler List
> [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Don Nielsen
> Sent: Friday, September 30, 2005 3:56 PM
> To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
> Subject: [ASSEMBLER-LIST] Shifting memory to the right
>
> Nothing like a dumb applications programmer question to end
> the week.  Is there an instruction like MVCL that moves
> memory starting at the end working to the beginning.  I have
> a table that is in sequence.  I want to insert a new row,
> maintaining sequence.  That requires shifting right the end
> of the table.  It would be great to just code an MVCL to do
> it, but I would be overwrite data.  But if MVCL started with
> the last byte and worked its way to the start, then the shift
> would be easy.  Does any such instruction or function exist?
>
> I guess I could do something silly and build the table
> starting at the end of the of memory block and shift it left
> as I build it.
>
> dvn
>
> Don V Nielsen
> Products & Tools
> CMS
> 3707 Corporate Drive
> Marshfield, WI 54449
> donn@cmscms.com
>
> > '715-486-8807 X434
> >
> Better Results, Faster!
>
Technical Details
Message-ID: <000301c5c5db$3a5b5160$0100a8c0@davidantecp4>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newscon06.news.prodigy.com!prodigy.net!logbridge.uoregon.edu!canoe.uoregon.edu!newsfeed.news.ucla.edu!newsfeed.berkeley.edu!ucberkeley!sn-xit-03!sn-xit-08!sn-xit-14!supernews.com!149.173.6.116.MISMATCH!foggy!vm.sas.com!worldnet.att.net!daviddejongh

Show Full Headers
Complete Article Headers
X-Google-Thread: fcdcb,3e46d196c2b56e33
X-Google-Attributes: gidfcdcb,public
X-Google-Language: ENGLISH,ASCII-7-bit
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newscon06.news.prodigy.com!prodigy.net!logbridge.uoregon.edu!canoe.uoregon.edu!newsfeed.news.ucla.edu!newsfeed.berkeley.edu!ucberkeley!sn-xit-03!sn-xit-08!sn-xit-14!supernews.com!149.173.6.116.MISMATCH!foggy!vm.sas.com!worldnet.att.net!daviddejongh
From: "David P. de Jongh" <daviddejongh@worldnet.att.net>
Newsgroups: bit.listserv.asm370
Subject: Re: Shifting memory to the right
Date: Fri, 30 Sep 2005 11:23:00 -0500
Organization: SAS Inc.
Lines: 84
Sender: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU>
Message-ID: <000301c5c5db$3a5b5160$0100a8c0@davidantecp4>
NNTP-Posting-Host: mozart.unx.sas.com
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Trace: foggy.unx.sas.com 1128097562 18198 10.19.150.41 (30 Sep 2005 16:26:02 GMT)
X-Complaints-To: usenet@unx.sas.com
NNTP-Posting-Date: Fri, 30 Sep 2005 16:26:02 +0000 (UTC)
Comments: Gated by NETNEWS@VM.SAS.COM
Return-Path: <owner-assembler-list@LISTSERV.UGA.EDU>
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook, Build 10.0.6626
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
Importance: Normal
X-MIME-Autoconverted: from quoted-printable to 8bit by listserv.cc.uga.edu id
                      j8UGN1l7028343
Approved-By: "David P. de Jongh" <daviddejongh@WORLDNET.ATT.NET>
In-Reply-To: <F57FDB5201A2AA488C21CC5CC9759029848D60@cdmail.cmscms.com>
Return-Path: owner-assembler-list@LISTSERV.UGA.EDU
X-OriginalArrivalTime: 30 Sep 2005 16:25:56.0408 (UTC)
                       FILETIME=[A2760380:01C5C5DB]
X-Mime-Autoconverted: from 8bit to 7bit by mime827
Originator: daemon@mozart.unx.sas.com