Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CLR70 TITLE 'C L E A R - TSO' 00050000
- PRINT ON,DATA,GEN 00060000
- CLEAR CSECT 00070000
- * SETUP registers and save areas thanks @bigendiansmalls * 00080000
- MAIN STM 14,12,12(13) # Save caller reg 00090000
- LR 8,15 # Base register 00100000
- USING MAIN,8 # R8 for addressability 00110000
- GETMAIN RU,LV=72 # for our savearea 00120000
- ST 13,4(,1) # Store Caller's SA address 00130000
- ST 1,8(,13) # Put my SA addr in caller's SA 00140000
- LR 13,1 # R13 has addr of our SA 00150000
- DS 0H # halfword boundaries 00160000
- * Let the fun Begin! * 00170000
- * YREGS sets R0 through R15, it is in SYS1.MACLIB 00180000
- YREGS 00190000
- * GTSIZE checks your terminal and sets R0 to the screen width and R0 to 00200000
- * the height, also in SYS1.MACLIB 00210000
- GTSIZE 00220000
- CH R0,=H'1' # Compare R0 (total number of lines) 00230000
- * to 0x01 and set condition 00240000
- BL EXITP # If R0 is less than 0x01 exit 00250000
- * Now turn on Full Screen MODE. Initial means 00260000
- * this is the first time we're using this macro 00270000
- STFSMODE ON,INITIAL=YES 00280000
- * Set Terminal Display Manager Options 00290000
- * Basically we can turn on display manager and display interupt 00300000
- * keys. KEYS=NO is how we would do that 00310000
- STTMPMD ON 00320000
- * the rest comes from http://www.tommysprinkle.com/mvs/P3270/hello2.htm 00330000
- * TPUT Macro puts a data stream to TSO 00340000
- * to escape the buffer you must pass 0x27 00350000
- * FULLSCR here basically means we send 3270 stream 00360000
- TPUT STREAM,STREAMLN,FULLSCR 00370000
- * But it dissapears super fast unless we add a TGET 00380000
- * Which GETs input from the user 00390000
- TGET INBUF,INBUFLN,ASIS 00400000
- * And now undo the Full Screen and Display Manager 00410000
- STFSMODE OFF 00420000
- STTMPMD OFF 00430000
- *********************************************************************** 00440000
- * And we Exit 00450000
- *********************************************************************** 00460000
- EXITP LR 1,13 # Move my SA into R1 00470000
- L 13,4(,13) # RST Caller SA Addr 00480000
- FREEMAIN RU,A=(1),LV=72 00490000
- LM 14,12,12(13) # restore registers 00500000
- XR 15,15 # zero return code 00510000
- BCR 15,14 # Branch back to caller 00520000
- STREAM DS 0C 00530000
- DC X'27' ESCAPE TSO CHARACTER 00540000
- DC X'F5' ERASE/WRITE 00550000
- DC X'C3' WCC 00560000
- DC X'114040' SBA 00570000
- DC X'2902' SFE (Three Attribute Pairs To Follow) 00580000
- DC X'C0F8' ATTR #1 (BASIC = PROTECTED) 00590000
- DC X'42F1' ATTR #3 (COLOR = BLUE) 00600001
- * --------------------- 00610001
- * | _________________ | 00620001
- * | | 5318008. | | 00630004
- * | |_________________| | 00640001
- * | ___ ___ ___ ___ | 00650001
- * | | 7 | 8 | 9 | | + | | 00660001
- * | |___|___|___| |___| | 00670001
- * | | 4 | 5 | 6 | | - | | 00680001
- * | |___|___|___| |___| | 00690001
- * | | 1 | 2 | 3 | | x | | 00700001
- * | |___|___|___| |___| | 00710001
- * | | . | 0 | = | | / | | 00720001
- * | |___|___|___| |___| | 00730001
- * | | 00740001
- * --------------------- 00750001
- DC C' --------------------- ' 00751003
- DC 56X'40' 00751103
- DC C' | _________________ |' 00752003
- DC 56X'40' 00752103
- DC C' | | 5318008. | |' 00753004
- DC 56X'40' 00753103
- DC C' | |_________________| |' 00754003
- DC 56X'40' 00754103
- DC C' | ___ ___ ___ ___ |' 00755003
- DC 56X'40' 00755103
- DC C' | | 7 | 8 | 9 | | + | |' 00756003
- DC 56X'40' 00756103
- DC C' | |___|___|___| |___| |' 00757003
- DC 56X'40' 00757103
- DC C' | | 4 | 5 | 6 | | - | |' 00758003
- DC 56X'40' 00758103
- DC C' | |___|___|___| |___| |' 00759003
- DC 56X'40' 00759103
- DC C' | | 1 | 2 | 3 | | x | |' 00759203
- DC 56X'40' 00759303
- DC C' | |___|___|___| |___| |' 00759403
- DC 56X'40' 00759503
- DC C' | | . | 0 | = | | / | |' 00759603
- DC 56X'40' 00759703
- DC C' | |___|___|___| |___| |' 00759803
- DC 56X'40' 00759903
- DC C' | |' 00760003
- DC 56X'40' 00760103
- DC C' --------------------- ' 00760203
- STREAMLN EQU *-STREAM 01070000
- * 01080000
- INBUF DS XL128 01090000
- INBUFLN EQU *-INBUF 01100000
- END , 01110000
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement