My Mnemonic nagging.
OK. I do a lot of Assembler, and I use it a lot in my messages here. But every single time I have to explain that I mean the original, System/370 Pc/370 Mainframe Assembler, BAL, whetever the h-e-double hockey sticks you want to call it, but not the mnemonic based on the original Assembler. So 2 things. First, let me just announce that from now on, I always mean the original, and second, can anyone think of a simler way for me to put the above into 3 words at the max!
1) System/370 assembler
2) WHY, per se, would you use this so often (unless you're using a System/370 compatible machine)? It seems to me, most people will be using an x86 processor, and x86 assembly would be a little easier and more useful; using any assembly language which is non-native to the processor defeats much of the purpose of assembly language, because instead of simple assembly, it would need to be interpreted or compiled.
>>> I do a lot of Assembler
So do I.
If someone on the board here asks for some help with assembler, and the only one you know is 370, if they have not specifically asked for that, then answering with that is more likely to confuse them than help.
Why do you claim 370 assembler is the original? There were many machines, (and macro assemblers on them), around before the 370 was dreamt of.
I use the original assembler because:
a) Bill Qualls just came out with a product that emulates IBM Mainframes on your PC, appropriately named PC/370. I can send you a copy if you want, it's shareware. Email me if you're interested.
b) My Dad asked me too. He's working on a program that takes a library (like c++ libraries), and reorganizes it to be up to 10x more efficient. The programmer's he works with are incompetent, so he asked his 14 year old son to do their job.
Thanks for the tips!
Well, 370 assembler isn't "original" -- it's merely one assembly language native to a given processor. It's highly useful when using a System/370 machine.
But to say that other assembly languages are derived from this is not completely accurate -- all assembly languages are designed for one specific series of processors, and each is useful primarily on that processor. For example, MIPS assembler and x86 assembly are designed for different chips, one is not simply a modified version of the other.
Of course, some processor types (like the x86) have two completely different assembly languages (which I think is designed just to ........ people off).
Emulating a processor is a great way to learn assembly languages besides x86, but aside from a learning tool, it's not very useful. The beauty of an assembly language is that each part of each opcode has an exact hardware analog, and each instruction in the code is translated into one opcode. When you emulate an assembly language, you lose this.
The good news is that assembly languages are all very similar. Learning 370 assembler means you can pick up x86, MIPS, whatever assembler quite easily.
I wish you the best of luck on your project -- it sounds quite interesting, and from your point of view, System/370 assembler is going to be very useful, I imagine.
I think learning the language of another processor is not the only use for emulating a processor on another one. The whole breakthrough with Bill Quall's software is that it actually creates a Mainframe environment. Critics (but then, who's to trust them!?) have said it's the most realistic emulation yet. This could be extremely useful in the future.
I meant using assembler on an emulator is only really useful for learning, simply as you no longer have the main benefits of assembler.
Emulators certainly have their place.
Unfortunately, no emulated software can be as fast as software written for the machine -- an in emulating a mainframe on a desktop, you end up with less than the full power of the desktop machine. Depending on what types of machines you need to emulate, this may be a bad thing. Obviously, emulating a powerful system, or a system with very different capabilities, won't work very well -- like implementing a CPU which natively does vector/matrix math on a CPU without is a massive performance hit.
I suppose it all depends on what you need to do. Anything which solves your problem is a good solution, for you.
Better than having no power devoted whatsoever to mainframe systems. With PC/370, programs that only run on Mainframes can run on PCs. If they're made to run on Mainframes, then there's no need for the extra power of a PC. But nonetheless, good point.
The first "Assembler", (she didn't call it that - but that is what it was), was created by the legendary Grace Hopper in 1952 - the opcode/operand format is very similar to assemblers today. This very much predates the IBM/370 and can be thought of as the "source" of other assemblers, 370 amongst them.
>>> then there's no need for the extra power of a PC
I don't understand this comment. Mainframes are substantially more powerful than PC's. A PC runs a PC, a modern mainframe can be running thousands of "virtual" PC's and processing batch at the same time.
I said that because one of the earlier replies said that a mainframe lacks the power of a PC. I said that if the program was designed for use on a mainframe, they wouldn't be expecting to use the power of a PC. It was aimed at the V., not you.
Thanks for the help.