HPE Community read-only access December 15, 2018
This is a maintenance upgrade. You will be able to read articles and posts, but not post or reply.
Hours:
Dec 15, 4:00 am to 10:00 am UTC
Dec 14, 10:00 pm CST to Dec 15, 4:00 am CST
Dec 14, 8:00 pm PST to Dec 15, 2:00 am PST
Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

Migration from Macro OpenVms Alpha to Macro OpenVms Itanium

 
Pshiono
Occasional Visitor

Migration from Macro OpenVms Alpha to Macro OpenVms Itanium

Good morning everyone!

My name is Paulo

I'm working on a migration from OpenVMS Alpha to OpenVMS Itanium.
I'm recompiling some programs in macro language Alpha to Itanium.

When I run the compile command MACRO / MIGRATION the code below
*****************************************************
        .TITLE  sharescr        Transfer Vector for SCRSHR
        .IDENT /1-03/

        .PSECT  $TRANS,EXE,NOWRT,PIC,SHR,GBL

        .MACRO  TRANS   Module_name
        .TRANSFER       Module_name
        .MASK           Module_name
        JMP             L^Module_name+2
        .ENDM   TRANS

        TRANS   SCR_PUT_MSG_BOTTOM
        TRANS   SCR_LOAD_FORM
*****************************************************

I get the following error message

*****************************************************
%IMAC-W-DIRTRANS, (1) .TRANSFER directive is not supported
-IMAC-I-ATEXPLINE, at macro expansion line 1
        .TRANSFER       SCR_PUT_MSG_BOTTOM

%IMAC-E-DIRMASK, (1) .MASK directive is not supported
-IMAC-I-ATEXPLINE, at macro expansion line 2
        .MASK           SCR_PUT_MSG_BOTTOM

%IMAC-E-BLKEXPNABS, (1) block expression not absolute
-IMAC-I-ATEXPLINE, at macro expansion line 2
        .MASK           SCR_PUT_MSG_BOTTOM

                      0000000C       13         TRANS   SCR_LOAD_FORM
*****************************************************

I am using the following versions of operating system and compiler macro
Version of OpemVms AlphaVms Alpha VMS version V7.3
Language Macro Alpha version AMAC V4.1-18-3381U


Version of OpemVms AlphaVms Itanium VMS version V8.4
Language Macro Alpha version IMAC V5.0-120-5

I am Cobol developer and do not know the macro language,
but I have some sources in Macro should I migrate also

I'm looking in the manual but can not find the solution.
can someone tell me how to fix this.

Thanks a lot


9 REPLIES
Tom Wetty
Advisor

Re: Migration from Macro OpenVms Alpha to Macro OpenVms Itanium

ACCORDING TO INTEGRITY OpenVMS help:

 

DIRMASK, .MASK directive is not supported

Facility: AMAC, MACRO-32 Compiler for OpenVMS Alpha

Explanation: The compiler detected use of the .MASK directive, which is
used with .TRANSFER on OpenVMS VAX systems. Transfer vectors
are not supported on OpenVMS Alpha systems.

User Action: Remove the transfer vector from the code. In its place,
specify a linker options file that includes the SYMBOL_VECTOR
statement when you link the object file.

Tom Wetty
Advisor

Re: Migration from Macro OpenVms Alpha to Macro OpenVms Itanium

Additionally:

 

DIRTRANS, .TRANSFER directive is not supported

Facility: AMAC, MACRO-32 Compiler for OpenVMS Alpha

Explanation: A .TRANSFER directive was found. Transfer vectors are not
supported on OpenVMS Alpha systems.

User Action: Remove the transfer vector from the code. In its place,
specify a linker options file that includes the SYMBOL_VECTOR
statement when you link the object file.

=============================================================

BLKEXPNABS, block expression not absolute

Facility: MACRO, VAX MACRO Assembler

Explanation: The expression specifying the amount of storage to be
allocated in a .BLKA, .BLKB, .BLKD, .BLKF., .BLKG, .BLKH,
.BLKO, .BLKQ, or .BLKW directive contains an undefined symbol
or is a relative expression.

User Action: Replace the expression with an absolute expression that does
not contain any undefined symbols.

============================================================

BLKEXPNABS, block expression not absolute

Facility: AMAC, MACRO-32 Compiler for OpenVMS Alpha

Explanation: The expression specifying the amount of storage to be
allocated in a .BLKA, .BLKB, .BLKD, .BLKF., .BLKG, .BLKH,
.BLKO, .BLKQ, or .BLKW directive contains an undefined symbol
or is a relative expression.

User Action: Replace the expression with an absolute expression that does
not contain any undefined symbols.

abrsvc
Respected Contributor

Re: Migration from Macro OpenVms Alpha to Macro OpenVms Itanium

Given the information posted, I think that either the port is from Vax to Itanium, or that the transfer file being referenced is an old one not used for the Alpha.

I have requested more info from the poster directly and will update this with a more generic response that describes the differences.

Dan
H.Becker
Honored Contributor

Re: Migration from Macro OpenVms Alpha to Macro OpenVms Itanium

>>> Given the information posted, I think that either the port is from Vax to Itanium, or that the transfer file being referenced is an old one not used for the Alpha.

 

or there are conditionals (in the code, in the build procedures) checking for Alpha and assuming VAX otherwise.

Pshiono
Occasional Visitor

Re: Migration from Macro OpenVms Alpha to Macro OpenVms Itanium

Hello thank you all for responding!

But migration is a DEC Alpha 64-bit server for HP OpenVMS OpenVms 64bit Intel Itanium Server.

I'm not working with a Vax32 server.

Thank you all for the help

Hein van den Heuvel
Honored Contributor

Re: Migration from Macro OpenVms Alpha to Macro OpenVms Itanium

 

Do NOT port that module... toss it.

Do NOT use MACRO/MIGRATE

Do you have any clue what this job is about, or why it was assigned to you?

 

Do read the manuals, notably the linker manual

 

http://h71000.www7.hp.com/doc/83final/4548/4548pro_011.html#itn_share_ch

 

Good luck!

 

Hein

 

 

 

Hoff
Honored Contributor

Re: Migration from Macro OpenVms Alpha to Macro OpenVms Itanium

Those are shareable image transfer vectors, and that Macro32 module is unnecesary on OpenVMS Alpha and OpenVMS I64;  Macro32 transfer vectors are not used on Alpha or Itanium.

Please see <http://labs.hoffmanlabs.com/node/163> for details on constructing a shareable image, as well as some DCL that allows a common source for both Macro32 transfer vectors as well as the linker options file used on later architectures.

B Claremont
Frequent Advisor

Re: Migration from Macro OpenVms Alpha to Macro OpenVms Itanium

This article dicusses porting MACRO 32 from Alpha to Integrity:

 

http://www.migrationspecialties.com/pdf/Porting%20Migration%20RPG%20to%20Itanium_TJ.pdf

www.MigrationSpecialties.com
xiaohai
Occasional Advisor

Re: Migration from Macro OpenVms Alpha to Macro OpenVms Itanium

It's very useful!