home *** CD-ROM | disk | FTP | other *** search
- TITLE 'TESTAT - TEST ASSIST INSTRUCTIONS'
- * PGMID. TESTAT.ALC
- * AUTHOR.DON HIGGINS.
- * MAINTENANCE.
- *
- * 02/19/87 COPIED FROM DEMOAST2
- * TEST XFILI, XFILO, XREAD, XPRNT, XDECI,XDECO, XDUMP
- * 02/25/87 ADD HEADER XREAD AND XPRNT AND TEST HOW/LOW INTEGERS
- *
- *
- *
- START
- USING *,R15
- *
- * INDIVIDUAL XDECI AND XDECO TESTS
- *
- XDECI 2,=C'2147483647 ' LARGEST VALID 32 BIT NUMBER
- BNP ERROR
- CL 2,=F'2147483647'
- BNE ERROR
- XDECO 2,DNUM
- CLC DNUM,=CL12' 2147483647'
- BNE ERROR
- XDECI 2,=C'2147483648 ' LARGEST VALID 32 BIT NUMBER + 1
- BNO ERROR
- XDECI 2,=C'-2147483648 ' SMALLEST VALID 32 BIT NUMBER
- BNM ERROR
- SR R0,R0
- S R0,=F'2147483647' BYPASS ERROR IN A370 F'-2147483648'
- S R0,=F'1'
- CLR R0,R2
- BNE ERROR
- XDECO 2,DNUM
- CLC DNUM,=CL12' -2147483648'
- BNE ERROR
- XDECI 2,=C'-21474836489 ' SMALLEST VALID 32 BIT NUMBER - 1
- BNO ERROR
- *
- * READ FILE OF NUMBERS AND COMPARE WITH TABLE VALUES
- *
- XFILI =C'TESTAT.DAT' RESET DEFAULT ASSIST FILE NAMES
- XFILO =C'TESTAT.PRN'
- XREAD CARD READ AND PRINT THREE HEADER LINES
- BNZ ERROR
- XPRNT CARD-1,81
- XREAD CARD
- BNZ ERROR
- XPRNT CARD-1,81
- XREAD CARD
- BNZ ERROR
- XPRNT CARD-1,81
- XPRNT =CL132' XDUMP REGISTERS NEXT'
- XDUMP
- XPRNT =CL132' XDUMP CARD,80 NEXT'
- XDUMP CARD,80
- XPRNT =CL132' TESTAT OUTPUT TEST FILE'
- LA R3,TABLE
- READ EQU *
- SVC TRACE
- DC C'XRD '
- XREAD CARD READ RECORD WITH NUMBERS
- BNZ EOF
- XPRNT CARD-1,81
- LA R1,CARD
- FORMAT EQU *
- SVC TRACE
- DC C'FMT'
- XDECI R4,0(R1) GET NEXT NUMBER FROM CARD
- BO READ END OF CARD IF CC3
- BZ ZERO
- BP POS
- MINUS EQU *
- LTR R4,R4
- BNM ERROR
- B VERIFY
- ZERO EQU *
- LTR R4,R4
- BNZ ERROR
- B VERIFY
- POS EQU *
- LTR R4,R4
- BNP ERROR
- VERIFY EQU *
- CLI 0(R1),C','
- BNE SKPCOM
- LA R1,1(R1)
- SKPCOM EQU *
- C R4,0(R3)
- SVC TRACE
- DC C'VER'
- BNE ERROR VERIFY VALUE FROM CARD MATCHES TABLE
- SVC TRACE
- DC C'PRT'
- XDECO R4,DNUM
- XPRNT LINE,20 OUTPUT NUMBER
- LA R3,4(R3)
- LA R5,1(R5)
- B FORMAT
- EOF EQU *
- SVC TRACE
- DC C'EOF'
- SR R15,R15
- BR R14
- ERROR EQU *
- SVC TRACE
- DC C'BUG '
- B ERROR
- TABLE DS 0F TABLE OF VALUES IN TEST INPUT FILE
- DC F'0,1,12,123,1234,12345'
- DC F'123456,1234567,12345678,123456789'
- DC F'1234567890'
- DC F'+0,+1,+12,+123,+1234,+12345'
- DC F'+123456,+1234567,+12345678,+123456789'
- DC F'+1234567890'
- DC F'-0,-1,-12,-123,-1234,-12345'
- DC F'-123456,-1234567,-12345678,-123456789'
- DC F'-1234567890'
- DC C' '
- CARD DC CL80' '
- DC C'X' FORCE END OF XDECI SCAN
- LINE DS 0CL20C' '
- DC C' '
- DNUM DC CL12' '
- DC CL(LINE+L'LINE-*)' '
- TRACE EQU 9
- R0 EQU 0
- R1 EQU 1
- R2 EQU 2
- R3 EQU 3 TABLE
- R4 EQU 4 VALUE VIA XDECI
- R5 EQU 5 COUNTER
- R14 EQU 14
- R15 EQU 15
- END