VOGTMURR@UREGINA1.BITNET (Murray) (11/22/89)
Version 3.2 of Donald S. Higgins' PC370 cross-assembler is available from TRICKLE in Europe and from LISTSERV@RPIECS or LISTSERV@NDSUVM1 in America. I don't know how to use TRICKLE but I suspect it is similar in use to the two Listserv's. Send to them the command /PDGET PD:<PC-BLUE.VOL427>PC37032x.ARC where x=A the first time and x=B the second time. Version 4.2 is directly available from Mr. Higgins' business address for $45.00 US. That address is: Donald S. Higgins 6365-32 Avenue North St. Petersburg, Florida 33710 It is possible that by next year a version 5 will exist, so ask Mr. Higgins for version 4.2 or the Newest version. It is also possible that the TRICKLE arch- ives will eventually offer version 4.2 in place of the 3.2 version it now has. But version 3.2 is pretty powerful in its own right. I have already described this cross-assembler to the list, and I don't have that file anymore. But there is one detail I forgot to mention. I had an unusual experience with version 1 when I was branching backwards by means of a relative offset. According to the standard length attributes of the ASM370 in- struction set, this line should have been correct: BCT 4,*-6 It didn't work. This did work: BCT 4,*-4 In other words, the length of a PC370 instruction mapped onto 8086 code is not always equal to what it would be on a normal System 370 mainframe. This may have been an isolated case explainable by the fact that I was using version 1 or that I was branching back to repeat a BIOS function call (low level code) invoked by means of Higgins' SVC 144. So be aware of occurrences like this too. Before I go, let me make an observation on two textbooks for learning to program in ASM370. I described Charles J. Kacmar's book "IBM370 Assembly Language with Assist." At 689 pages, this book obviously has certain advantages over George Struble's 525 page book "Assembler Language Programming: The IBM System/370 Family". Third edition. Addison-Wesley, 1984. Yet although Kacmar's books covers its areas like macro design and file access methods at more length than Struble, Struble's book has some features that Kacmar's lacks. For example Struble describes two Assist commands: XSAVE and XRETURN for saving registers and branching to subroutines that Kacmar leaves out. Struble gives an example of code written for CMS that uses the CMS macros WRTERM and RDTERM. He shows how to trouble-shoot programs in CMS with DEBUG. And most importantly Struble includes a chapter, 17, "System Control Functions", that serves to acquaint the reader with the 360 and 370 architectures, with information on the control re- gisters, privileged instructions, dynamic address translation, and channel op- erations. This chapter will not replace the technical manuals, but it will pre- pare the reader for real exercises in system programming, something that the Kacmar book omits altogether. -- Murray