[Info-vax] Listeners in VMS Basic, was: Re: Integrity iLO Configuration?

Arne Vajhøj arne at vajhoej.dk
Mon Jul 12 12:28:29 EDT 2021


On 7/12/2021 12:17 PM, abrsvc wrote:
> On Monday, July 12, 2021 at 11:02:35 AM UTC-4, Arne Vajhøj wrote:
>> On 7/12/2021 1:34 AM, Simon Clubley wrote:
>>> On 2021-07-10, abrsvc <dansabr... at yahoo.com> wrote:
>>>>> But I wonder why MOVZWL and not just MOVL!
>>>>
>>>> IRRC, the MOVZWL will take less memory since the immediate value will be smaller.
>>>
>>> It would be amusing if the more efficient sequences get translated
>>> to less efficient sequences on Alpha and above when using the Macro-32
>>> compiler and if a less efficient sequence on VAX actually translates
>>> to a more efficient sequence on Alpha and above. :-)
>> On Alpha both end up as:
>>
>> MOV 1, R0
> 
> There is no "mov" on Alpha.  What you will end up with is a load/store combination.

         .title  z
         .psect  $CODE quad,pic,con,lcl,shr,exe,nowrt
         .entry  z1,^m<r2,r3,r4,r5>
         movl    #1,r0
         ret
         .entry  z2,^m<r2,r3,r4,r5>
         movzwl  #1,r0
         ret
         .end

gave me:

                                 .PSECT  $CODE, QUAD, PIC, CON, REL, 
LCL, SHR, EXE, RD, NOWRT
              0000       Z1::
23DEFFC0     0000               LDA     SP, -64(SP)
B77E0000     0004               STQ     R27, (SP)
B75E0010     0008               STQ     R26, 16(SP)
B45E0018     000C               STQ     R2, 24(SP)
B47E0020     0010               STQ     R3, 32(SP)
B49E0028     0014               STQ     R4, 40(SP)
B4BE0030     0018               STQ     R5, 48(SP)
B7BE0038     001C               STQ     FP, 56(SP)
47FE041D     0020               MOV     SP, FP
              0024       $L1:
47E03400     0024               MOV     1, R0 
                                                     ; 000004
              0028       $L2: 
                                                      ; 000005
47FD041E     0028               MOV     FP, SP
A79D0010     002C               LDQ     R28, 16(FP)
A45D0018     0030               LDQ     R2, 24(FP)
A47D0020     0034               LDQ     R3, 32(FP)
A49D0028     0038               LDQ     R4, 40(FP)
A4BD0030     003C               LDQ     R5, 48(FP)
A7BD0038     0040               LDQ     FP, 56(FP)
23DE0040     0044               LDA     SP, 64(SP)
6BFC8001     0048               RET     R28
2FFE0000     004C               UNOP

Routine Size: 80 bytes,    Routine Base: $CODE + 0000

              0050       Z2::
23DEFFC0     0050               LDA     SP, -64(SP)
B77E0000     0054               STQ     R27, (SP)
B75E0010     0058               STQ     R26, 16(SP)
B45E0018     005C               STQ     R2, 24(SP)
B47E0020     0060               STQ     R3, 32(SP)
B49E0028     0064               STQ     R4, 40(SP)
B4BE0030     0068               STQ     R5, 48(SP)
B7BE0038     006C               STQ     FP, 56(SP)
47FE041D     0070               MOV     SP, FP
              0074       $L3:
47E03400     0074               MOV     1, R0 
                                                     ; 000007
              0078       $L4: 
                                                      ; 000008
47FD041E     0078               MOV     FP, SP
A79D0010     007C               LDQ     R28, 16(FP)
A45D0018     0080               LDQ     R2, 24(FP)
A47D0020     0084               LDQ     R3, 32(FP)
A49D0028     0088               LDQ     R4, 40(FP)
A4BD0030     008C               LDQ     R5, 48(FP)
A7BD0038     0090               LDQ     FP, 56(FP)
23DE0040     0094               LDA     SP, 64(SP)
6BFC8001     0098               RET     R28

Arne




More information about the Info-vax mailing list