[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::macro

Title:VAX MACRO assembler issues
Moderator:TLE::TROWEL
Created:Mon Mar 30 1987
Last Modified:Wed Jun 04 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:257
Total number of notes:916

255.0. "%AMAC-E-ILLRELADR errors" by XDELTA::HOFFMAN (Steve, OpenVMS Engineering) Fri Mar 07 1997 17:00

               <<< STAR::NOTESD$:[NOTES$LIBRARY]WIZARDS.NOTE;1 >>>
                            -<  "ASK THE WIZARDS" >-
================================================================================
Note 1641.0              Open: why do I get this error?                  1 reply
STAR::JKEENAN                                        61 lines   4-MAR-1997 15:17
--------------------------------------------------------------------------------
Return-Path: "VMS001::WWW"@vms001.das-x.dec.com
Received: by vmsmkt.zko.dec.com (UCX V4.1-12, OpenVMS V6.2 VAX);
	Thu, 27 Feb 1997 15:31:35 -0500
Received: from vms001 by mail12.digital.com (8.7.5/UNX 1.5/1.0/WV)
	id PAA05542; Thu, 27 Feb 1997 15:24:01 -0500 (EST)
Date: Thu, 27 Feb 1997 15:25:26 -0500
Message-Id: <[email protected]>
From: "VMS001::WWW"@vms001.das-x.dec.com (27-Feb-1997 1525)
To: [email protected], [email protected], [email protected]
Subject: Ask the Wizard: '[email protected]'
X-VMS-To: [email protected]

Remote Host: (null)
Browser Type: Mozilla/3.0 (WinNT; I)
Remote Info: <null>
Name: ANH MINH TRINH
Email Address: [email protected]
CPU Architecture: VAX and Alpha
Version: v 6.2
Questions: 


 I'm trying to do a conversion of macro-32 code from
 VAX (Open VMS 6.2 - Vax MACRO V5.4-3) to ALPHA
 (Open VMS 6.2-1H3 - AMAC V2.1-17-267).

 The source code is compiled (or assembled) on the
 VAX successfully.

 On the Alpha I have the following error :
%AMAC-E-ILLRELADR, (1) illegal relative addressing mode
-MACR
 O-I-ATEXPLINE, at macro expansion line 89

 The following is a portion of the listing which 
 contains the macro expansion :

         X06/088 ?05F 0000004E          .IIF IDN NEQ,EQL,   BNEQ    .+5
         X06/089 ?05T 0000004E          .IIF IDN NEQ,NEQ,   BEQL    .+5
         X06/090 ?05F 00000050          .IIF IDN NEQ,GTR,   BLEQ    .+5
         X06/091 ?05F 00000050          .IIF IDN NEQ,GEQ,   BLSS    .+5
         X06/092 ?05F 00000050          .IIF IDN NEQ,LEQ,   BGTR    .+5
         X06/093 ?05F 00000050          .IIF IDN NEQ,LSS,   BGEQ    .+5
         X06/094 ?05F 00000050          .IIF IDN NEQ,GTRU,  BLEQU   .+5
         X06/095 ?05F 00000050          .IIF IDN NEQ,GEQU,  BLSSU   .+5
         X06/096 ?05F 00000050          .IIF IDN NEQ,LSSU,  BGEQU   .+5

 If you look at this portion, I have more than one
 relative addressing mode.  Why the error occurs only
 at line 089 ?  Is it possible that the error message
 is not correct ?  
 What should I do ?

 Thank You

 Minh Trinh

 


 
T.RTitleUserPersonal
Name
DateLines
255.1need sample codeCOMEUP::SIMMONDSlock (M); while (not *SOMETHING) { Wait(C,M); } unlock(M)Fri Mar 07 1997 22:3418
> What should I do ?
    
    Please supply a small complete reproducer..
    
    
> If you look at this portion, I have more than one
> relative addressing mode.  Why the error occurs only
> at line 089 ?  Is it possible that the error message
> is not correct ?  
    
    The listing indicates that inside the macro expansion at nested depth 6,
    there is some nested (depth 5) conditional test that is only true at
    relative line 89.. the other possibilities are all False and will not
    be selected for further compilation..  it's unlikely that the error is
    'not correct' but a reproducer should enable investigation of such a
    possibility.
    
    John.
255.2Two questions, tqo answersCPEEDY::FLEURYMon Mar 10 1997 08:3423
    re: .0
    
    There are actually two issues here.
    
    1) Why is the message only reported at line 89?
    	
    	Close examination of the listing will show that line 89 is the only
    	line where the expansion is true.  Only when the line is to be
    	processed will the compiler scan the line for syntax etc.
    
    2) Why is the error reported at all?
    
    	From HELP/MESSAGE we find:
    
 	ILLRELADR,  illegal relative addressing mode
    
      	Facility:     AMAC, MACRO-32 Compiler for OpenVMS AXP
    
      	Explanation:  A branch to a destination that is the offset from a
    		      label (for example, BLSS FOO+2) is not allowed.
    
      	User Action:  Place a label at the destination, and branch to that
    		      label.
255.3"Stateless Q&A"XDELTA::HOFFMANSteve, OpenVMS EngineeringMon Mar 10 1997 16:448
:> What should I do ?
:    
:    Please supply a small complete reproducer..

   That entry arrived via the OpenVMS web site, short of contacting
   the customer directly, it's not feasible to have a dialog...

   I'll distill .2 and pass it along...
255.4funny sort of Wizard?COMEUP::SIMMONDSlock (M); while (not *SOMETHING) { Wait(C,M); } unlock(M)Mon Mar 10 1997 20:028
    Re: .3
    
>   That entry arrived via the OpenVMS web site, short of contacting
>   the customer directly, it's not feasible to have a dialog...
    
    Well one wonders why we promote such a site if it's one-way traffic!
    
    John.
255.5Wizards: Batch-Oriented Q&AXDELTA::HOFFMANSteve, OpenVMS EngineeringWed Mar 12 1997 16:3311
:>   That entry arrived via the OpenVMS web site, short of contacting
:>   the customer directly, it's not feasible to have a dialog...
:    
:    Well one wonders why we promote such a site if it's one-way traffic!

   It's not an interactive site -- one has to use out-of-band methods
   (direct e-mail, etc) to get more information on a problem.  Various
   questions and answers are batched-up, and are uploaded back to the
   Wizards area of the web site.