On 11/05/2020 23:05, Frank Myers wrote:
Hi,

I installed the z390 emulator and assembler on Linux. I tried to assemble
some of my code, but found that It was not recognizing my Macros. I copied
them into the z390/mac directory, but still it does not find my Macros.
* Is there a required step to preprocess or register macros before they can
be used?  Or do the macros need to adhere to a fixed record length? Or
perhaps only a subset of IBM Assembler Macro language is supported? Or
perhaps some other magic?*

I wrote the original z390.pl perl script for running z390 on Linux.
To tell z390 where your macros are you need to add the sysmac option
after the filename. For example, I created a subdirectory foo with
a macro file in it and then to assemble the source file UDATECNV.MLC
I ran:

z390 -a UDATECNV.MLC 'sysmac(.+foo+/home/martin/lib/z390/mac)'

/home/martin/lib/z390 is where I have installed z390:
this is needed so that z390 can find its own macros.
Note that the sysmac option will override the existing option:
there is no way to say "add this directory to the existing
search path". Note that "+" is used as the list separator.
However: if you want to set up your own system wide extra macro
directory you can edit the default options line in z390.pl:

my $sysmac = "$dir/mac+.";  # Default macro search path
my $syscpy = "$dir/mac+.";  # Default copybook search path
...
my $options = "'sysmac($sysmac)' 'syscpy($syscpy)'"; # default options

Also: all macro files must have the extension .MAC in upper case.

--
                        Martin

Dr Martin Ward | Email: mar...@gkc.org.uk | http://www.gkc.org.uk
G.K.Chesterton site: http://www.gkc.org.uk/gkc | Erdos number: 4

Reply via email to