[comp.lang.asm370] Donald S. Higgins' cross-assembler and George Struble's book

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