[Info-vax] Whither VMS?
VAXman- at SendSpamHere.ORG
VAXman- at SendSpamHere.ORG
Fri Oct 9 16:52:54 EDT 2009
In article <hao601$lqf$1 at naig.caltech.edu>, glen herrmannsfeldt <gah at ugcs.caltech.edu> writes:
>VAXman- wrote:
>(snip regarding null terminated vs. count field strings)
>
>< With the counted example, long strings might be implemented with
>< long moves with the odd remainder being byte moves. That would
>< be much more efficient for large data copies than the byte moves.
>
>OK, to be a little closer to the subject of this group, VAX
>has the MOVC instruction which can move up to 65535 characters
>with one instruction, assuming the length is known.
>
>I suppose LOCC could be used for null terminated strings,
>to find the null character. That would be in a loop in case
>the string is longer than 65535. MOVTUC could probably do
>strcpy(), though with the memory references for the translate
>table (which translates everything to itself) it is probably
>slower than otherwise. That would still need to be in a loop.
>For strncpy() it could be used with the length, and then MOVC
>with zero source length to pad the result out to the specified
>length.
>
>It seems to me that VAX is a little better for counted strings
>than null terminated strings.
>
>Any processor that doesn't set flags on character load/store
>will require extra tests for strcpy().
Consider the MOVCx a macro or routine. Internally, it's not
so simple. THere is a pseudo-code operation in the VAX arch-
itecture reference manual (EY-3459E-DP) pg. 147-150. Three
ages!
--
VAXman- A Bored Certified VMS Kernel Mode Hacker VAXman(at)TMESIS(dot)ORG
http://www.quirkfactory.com/popart/asskey/eqn2.png
"Well my son, life is like a beanstalk, isn't it?"
More information about the Info-vax
mailing list