Re: Re: Where do I start?

Ron Hudson <[email protected]> Thu, 27 May 2010 16:07:00 -0700
Newsgroups gmane.comp.emulators.turnkey-mvs
Message-ID <[email protected]>
On Thu, May 27, 2010 at 3:42 PM, Gerhard Postpischil
<[email protected]>wrote:

> On 5/27/2010 4:56 PM, Ron Hudson wrote
> > The 'move stuff' portion of the code fails - It does not seem to detect
> > the end of the INBUF.  I checked
> > the example I have and the documentation I could find on TGET and it
> > seems that TGET returns the
> > byte count in R1? ?
>
> I just dragged myself upstairs and got the manual.


Thank you.


> TGET returns
> the number of bytes moved to your buffer in R1. However, you
> also need to check R15 to see whether the TGET was processed.


If my INBUF is generous shouldn't I always have the full input from my
screen?

I suppose I need to watch for 20 though so I can gracefully shut down
in case someone trips over the coax connecting the terminal to the
controller.




> A
> value of 0 indicates good completion, one of 12 that the buffer
> was too short (another TGET would retrieve more bytes, but
> without the AID, etc.); the other values are ones you would not
> normally see (4 - TGET with NOWAIT and no input available; 16 -
> invalid parameters; 20 - terminal disconnected)
>
> > This is from one of those documentation programs and it talks about
> > savign the length and using r1 to
> > do it.
> >
> >          TGET   (2),(3),R           READ FROM THE TERMINAL
> >           STH    R1,0(R4)            SAVE THE LENGTH FROM TGET
> >           SPACE  2
> >           LR     R1,R13              COPY MY SAVE AREA POINTER
> >
> > btw: What does the "SPACE" directive do above?
>
> SPACE 2 tells the assembler to leave two blank lines, for a
> prettier listing. Also that TGET doesn't really save much;
> shorter would be:
>        LA      1,INBUFF
>        LA      0,L'INBUFF
>        ICM     1,8,=x'81'      TGET ASIS
>        TGET    1,0,R
>
> > I have a list of the machine instructions but no list yet of compiler
> > directives or macros.
>
> The current assembler documentation is on the IBM web site, but
> much of the HL stuff doesn't apply to XF. Macros are documented
> in manuals specific to use (Using Data Sets; Assembler Services;
> etc.).
>
> > DEBUG01  TPUT     STREAM,STREAMLN,FULLSCR
> 00490000
> >           LA       5,1(,5)         ADVANCE OUTPUT POINTER
>  00500000
> >
> >           LA       6,1(,6)         ADVANCE INPUT  POINTER
>  00510000
> >           SH       1,=H'1'          REDUCE BYTE COUNT
> 00520000
>
> The TPUT has just destroyed R1 (address of STREAM), so the loop
> will never end. One way of handling is is to use, for instance:
>        TGET ...
>        LTR     4,1     check for input
>        BNP     none    nothing read
>
> and use register 4 instead of 1 in subsequent code.
>
> Gerhard Postpischil
> Bradford, VT
>
>
> ------------------------------------
>
> Yahoo! Groups Links
>
>
>
>