I like John's question at least as much for what our answers say about
us as for the technical content ...

Anyway.

1) No, but I use ICM to retrieve the values, a habit from the days when
alignment mattered more. I suppose that implies I don't think not being
on a fullword boundary is an error, though I always fullword align
parameter lists I'm passing to other code.

2) Since I follow each ICM with branches to detect a zero parameter
address (which may or not be valid, depending on what I'm doing) or
end-of-list, I suppose I do. If the situation calls for a specific
number of parameters and I get a different number, that's an immediate
exit with indicative return code.

Depending on the situation, of course, there may be more paranoia, but
rarely less, even when I wrote both the calling and called routines. (I
know I can't trust me, because that's what they want me to think.)

Steve

On Wed, 11 Aug 2010, McKown, John wrote:

> This is just curiousity on my part. I was thinking about standard
...
> 1) do you check to make sure that R1 actually points to a fullword
>    boundry. I.e. bits 30&31 are '0'b? Is this necessary or not? If R1
>    doesn't point to a fullword boundry, is that actually an error? That
>    is, do you feel that a proper parameter list must be fullword
>    aligned?
>
> 2) do you always verify bit 0 of every fullword in the list of addresses
>    to make sure that you get the expected number of parameters? What do
>    you do if you get too few or too many?

-- Steve Marak
-- [email protected]

Reply via email to