Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!uwm.edu!ux1.cso.uiuc.edu!phil From: phil@ux1.cso.uiuc.edu (Phil Howard KA9WGN) Newsgroups: comp.lang.asm370 Subject: Re: MVCL (was Re: why code in 370 Assembler) Message-ID: <1991Apr29.042340.17804@ux1.cso.uiuc.edu> Date: 29 Apr 91 04:23:40 GMT References: <9104261709.AA04987@mp.cs.niu.edu> <9104261742.AA22162@ucbvax.Berkeley.EDU> Distribution: inet Organization: University of Illinois at Urbana Lines: 28 rickert@CS.NIU.EDU ("Neil Rickert, N Illinois U, CS") writes: > What if you have a reentrant subroutine, R15 is your base reg, R1 has >parameters, R2-12 are tied up for your computationally intense algorithm, and >the routine will be used heavily enough that you cannot afford the cost of >a GETMAIN? If you were designing the calling interface, I'd go back and rethink it. One possible savings might be in passing in a temporary data area to play with, that would hopefully not need to be allocated over and over in the calling program. But then, I find it a but hard to imagine a program that is computationally intense AND having shove some bytes, too. But anything is possible. > Don't assume that just because the instruction is MVC or MVCL you are dealing >with characters. It might just be an array of numbers. Hopefully you at least know in advance. I did write a FORTRAN callable function called MVCL (and one called CLCL; guess what it did). There were 5 arguments: array1, length1, array2, length2, pad. Of course this program had no idea what the data type was, but the calling program was the one to decide if there were any overlaps. -- /***************************************************************************\ / Phil Howard -- KA9WGN -- phil@ux1.cso.uiuc.edu | Guns don't aim guns at \ \ Lietuva laisva -- Brivu Latviju -- Eesti vabaks | people; CRIMINALS do!! / \***************************************************************************/