Re: It's TGET not TPUT to get the data: Where do I start?
Ron Hudson <[email protected]>
| Newsgroups | gmane.comp.emulators.turnkey-mvs |
|---|---|
| Message-ID | <[email protected]> |
I started to throw together some code to 1) transfer 128 bytes from inbuf to display 2) '#' to bytes 0,1,2,3 to corrispond with Aidkey, ScreenLocation, first'11', and it's screenlocation 3) search display for x'11''s and c'#' them and the next byte after them. Bu I don't know enough about IBM 370 assembly language. My program (DSP2) was kit-bashed from Tommy's "Hello World" version 3 - basically I just put in a lot more stream stuff. And I copied the loop from the "Aid1" program I am really no stranger to the concept of assembler,hand assembled 6502 code for an apple 1 I never got around to getting. hand assembled Z80 code for the Polymorphic system machine I got instead. On Tue, May 25, 2010 at 4:33 PM, Rick Fochtman <[email protected]> wrote: > > > -------------------------------<snip>-------------------------------- > > I am looking at http://tommysprinkle.com/mvs/P3270/input.htm > > Where Tommy says: > When we issue the TGET macro with the ASIS parameter specified, TSO will > issue a "Read Modified" command to the 3270 terminal. The terminal will > respond with (1) an AID or Action ID character that identifies which key > was the cause of input to be accepted (Enter, PKxx, PAx, Clear), (2) the > location of the cursor when the input key was pressed and (3) fields with > the MDT bit set. The fields are returned starting with a x'11' followed by > a two byte encoded buffer address followed by the data from the field. By > scanning for the special code x'11' we can find the start and end of each > data field. > > I think this looks like: > > Aid/Action ID > > Cursor Location > > 11 [Field Location] Field data > > 11 [Field Location] Field data > > Followed by ?? > > <for each field with mdt set> > > ----------------------------------<unsnip>------------------------------- > That's pretty accurate. TGET will also tell you how many bytes were read. > You can scan the buffer for the X'11' byte with a TRT instruction pretty > handily. Just start it at the byte following the previous X'11' byte, if > any. Or you can zero out the buffer before each TGET using a MVCL > instruction. > > Rick > >