> -----Original Message----- > From: IBM Mainframe Discussion List > [mailto:[EMAIL PROTECTED] On Behalf Of Flint, Mike > Sent: Thursday, May 31, 2007 7:38 AM > To: [email protected] > Subject: Cross-assembler : HLASM --> 8086 > > > Hi, > > Does anyone know of a product that will take HLASM source and > produce object or executables for the wintel platform? > > I'm aware of tachyon and dignus (even pc370!) which can take > HLASM, assemble/link, and emulate the execution on wintel, > but I want native '8086' (or whatever it's called) output (I > guess that source or object output would be okay). > > The code is 'pure' HLASM (number-crunching, not accessing any > MVS services), so it shouldn't need to handle many > environment issues (other than passing parameters in, and > getting the response out). > > Thanks in advance, > Mike Flint, > Systems Consultant, > Experian.
I've never heard of such a thing. I can imagine it, but the performance would likely be terrible due to the mismatch between the System z architecture and the ia86 architecture (oh, and do you want 32 bit or 64 bit on the Intel side?). And, of course, there is definately going to be emulation for some things which the ia86 architecture does not support, such a HFP (legacy mode floating point) and packed decimal. The company I work for (previous management team) had decided to eliminate the System z for an "all MS Windows" environment. Supposedly, there is a company, UNICOM, which said that they could source convert all our z/OS source, including assembler, to something executable under Windows. We never got that far. You might want to ask them. They did indicate that they would do the conversion, but the source would be given to us to maintain. http://www.unicomsi.com/ You probably realise this, but I will state it anyway. IMO, it would be better to look at each assembler program, abstract what it does, what its input and outputs are, then rewrite it in another language (ia86 assembler or maybe C). Another possibility is to modify your source code so that each instruction begins with a unique character, such as @. Then, create a series of HLASM macros with those names. The HLASM macro simply uses PUNCH to create the ia86 assembler output. eg. instead of something like: L R1,VALUE AHI R1,1 ST R1,VALUE changes to: @L R1,VALUE @AHI R1,1 @ST R1,VALUE You then create the @L, @AHI, and @ST macros (not included) which will PUNCH the appropriate ia86 instructions to do something similar. I hope your code doesn't use truly weird instructions such as UPT. But, if it does, you can get a good idea of what they actually do by reading the Hercules/390 source code. I've actually looked at it to try to understand some instructions that were unclear to me in the POPS. -- John McKown Senior Systems Programmer HealthMarkets Keeping the Promise of Affordable Coverage Administrative Services Group Information Technology The information contained in this e-mail message may be privileged and/or confidential. It is for intended addressee(s) only. If you are not the intended recipient, you are hereby notified that any disclosure, reproduction, distribution or other use of this communication is strictly prohibited and could, in certain circumstances, be a criminal offense. If you have received this e-mail in error, please notify the sender by reply and delete this message without copying or disclosing it. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html

