[Info-vax] Native compilers

chris chris-nospam at tridac.net
Tue Mar 8 19:53:27 EST 2022


On 03/08/22 21:10, Johnny Billquist wrote:
> On 2022-03-08 20:50, chris wrote:
>> On 03/08/22 15:10, John Reagan wrote:
>>> On Monday, March 7, 2022 at 7:46:02 PM UTC-5, chris wrote:
>>>> On 03/05/22 18:05, John Reagan wrote:
>>>>> MOVAL (R3)+,(R3)+
>>>> Again depends on when the autoincremnt happens in the sequence...
>>> VAX architecture defines the behavior exactly.  The human brain?  Not
>>> so much.  :)
>>>
>>
>> As one would expect and pdp11 and 68k worked the same way, as
>> it's written in fact...
>
> Well... No. This was one of the major problems of the PDP-11, and one
> reason the VAX have all these specifications.
>
> The PDP-11 handbooks instead have large tables with differences between
> different implementations. Lots of undefined behavior. Not nice.
>
> Of course, it is not that you have someone write code that actually use
> these undefined sequences very often, but it do happen.
>
> This specific example don't exist on the PDP-11 however, as there is no
> MOVA instruction (but I sometimes wish I did have one...). But the one
> John had his problem example on, which was MOVL (R7)+,R7 is, I believe
> an example of where on the PDP-11 you might be in trouble.
>
> Johnny

Here's an example of our function exit code idiom in macro 11:

error: cmp (pc)+, pc;
ok:    clc;
        rts pc;

Not obvious, but neat non the less...

Chris



More information about the Info-vax mailing list