4 ms·
If you have the chance, take a look at the assembly for the 360/370. It actually made a lot more sense than the 8086. When I was in college, the Assembly clas
by protomyth 8y ago
If you have the chance, take a look at the assembly for the 360/370. It actually made a lot more sense than the 8086. When I was in college, the Assembly class was on a 370 and I did love the documentation including the banana book ( https://www.flickr.com/photos/dabcanboulet/131534936 https://www.flickr.com/photos/dabcanboulet/131534936 ).
- CountHackulus 8y agoAs of about 10 years ago they still made those reference cards. And you're right about it making more sense than the 8086 if others are interested what you want to look for is the Principle of Operations document. I could only find the one for z9[1] but z13 is the latest mainframe out and there should be some somewhere. Another interesting thing is that while you can technically run a version of Linux on these mainframe, most of them run z/OS with Unix System Services. So it acts somewhat familiar but you're sometimes forced to boot up a 3270 terminal emulator to connect and do some non-unix things. [1] https://www.ibm.com/support/libraryserver/download/dz9zr006.pdf https://www.ibm.com/support/libraryserver/download/dz9zr006....
- fjeremic 8y agoThe latest one is for z14 [1] and is a very well organized document for compiler writers. I reference it daily while working on the Eclipse OpenJ9 project. Indeed from day to day we mainly work on Linux (Ubuntu 18.04) on our z14 mainframes. [1] https://www-01.ibm.com/support/docview.wss?uid=isg2b9de5f05a9d57819852571c500428f9a https://www-01.ibm.com/support/docview.wss?uid=isg2b9de5f05a...
- CountHackulus 8y agoOh interesting, that's definitely changed since I was writing compilers for Z. Neat!
- kens 8y ago360 assembly is interesting because it's mostly normal instructions with a nice orthogonal register set and simple memory addressing. But then it has weird complex instructions for historical reasons. E.g. copying the top two bits from each character in an arbitrary-length field, or doing arithmetic on arbitrary-length BCD with two different formats. There's also the Edit instruction, sort of like a printf instruction to format numbers with commas. Overall, the instruction set seems like what you'd get if RISC guys collaborated with the worst people from x86.