

                22-Aug-1978 02:53:57	VAX-11 FORTRAN IV-PLUS V1.0-2      Page 1   

					SBITA.FOR.4         



0001    	SUBROUTINE SBITA (LUN,REG)

0002    	BYTE 	LUN

0003    	INTEGER*4	REG

         

        C

        C	INCLUDE FILES:

        C

         

        C

        C	EQUATED SYMBOLS:

        C

         

0004    	PARAMETER	BIT00='00000001'X

0005    	PARAMETER	BIT01='00000002'X

0006    	PARAMETER	BIT02='00000004'X

0007    	PARAMETER	BIT03='00000008'X

0008    	PARAMETER	BIT04='00000010'X

0009    	PARAMETER	BIT05='00000020'X

0010    	PARAMETER	BIT06='00000040'X

0011    	PARAMETER	BIT07='00000080'X

0012    	PARAMETER	BIT08='00000100'X

0013    	PARAMETER	BIT09='00000200'X

0014    	PARAMETER	BIT10='00000400'X

0015    	PARAMETER	BIT11='00000800'X

0016    	PARAMETER	BIT12='00001000'X

0017    	PARAMETER	BIT13='00002000'X

0018    	PARAMETER	BIT14='00004000'X

0019    	PARAMETER	BIT15='00008000'X

0020    	PARAMETER	BIT16='00010000'X

0021    	PARAMETER	BIT17='00020000'X

0022    	PARAMETER	BIT18='00040000'X

0023    	PARAMETER	BIT19='00080000'X

0024    	PARAMETER	BIT20='00100000'X

0025    	PARAMETER	BIT21='00200000'X

0026    	PARAMETER	BIT22='00400000'X

0027    	PARAMETER	BIT23='00800000'X

0028    	PARAMETER	BIT24='01000000'X

0029    	PARAMETER	BIT25='02000000'X

0030    	PARAMETER	BIT26='04000000'X

0031    	PARAMETER	BIT27='08000000'X

0032    	PARAMETER	BIT28='10000000'X

0033    	PARAMETER	BIT29='20000000'X

0034    	PARAMETER	BIT30='40000000'X

0035    	PARAMETER	BIT31='80000000'X

        C

        C	OWN STORAGE:

        C

0036    	INTEGER*2	LINE_CT

0037    	INTEGER*4	TEMP

         

0038    	CHARACTER*10	MODE(0:3)

0039    	CHARACTER*32	SBITA_BITS(1:4)

         

         

0040    	DATA	SBITA_BITS(1)	/'MODE OF REFERENCE<31:30>:'/

0041    	DATA	SBITA_BITS(2)	/'PROTECTION CHECKED REFERENCE<29>'/



SBITA           22-Aug-1978 02:53:57	VAX-11 FORTRAN IV-PLUS V1.0-2      Page 2   

					SBITA.FOR.4         



0042    	DATA	SBITA_BITS(3)	/'SBI ADDRESS<27:00>:'/

0043    	DATA	SBITA_BITS(4)	/'PHYSICAL ADDRESS:'/

         

0044     	DATA	MODE(0)		/'KERNEL'/

0045    	DATA	MODE(1)		/'EXECUTIVE'/

0046    	DATA	MODE(2)		/'SUPERVISOR'/

0047    	DATA	MODE(3)		/'USER'/

        C

        C	SBITA REGISTER

        C

         

0048    	LINE_CT=5

0049    	IF ((REG .AND. BIT29) .NE. 0) LINE_CT=LINE_CT+1

0050    	CALL LINCHK (LUN,LINE_CT)

0051    	WRITE (LUN,200)'SBITA(ID#1A)',REG

0052    200	FORMAT (' ',T10,A,T23,Z8)

0053    	TEMP=LIB$EXTZV (30,2,REG)

0054    	WRITE (LUN,300) SBITA_BITS(1),TEMP

0055    	WRITE (LUN,310)MODE(TEMP)

0056    300	FORMAT(' ',T40,A,:,T71,Z2)

0057    310	FORMAT (' ',T45,A)

0058    	IF (( REG .AND. BIT29) .NE.0)

        	1	WRITE (LUN,300) SBITA_BITS(2)

0059    	TEMP=(REG .AND. '0FFFFFFF'X)

0060    	WRITE (LUN,325) SBITA_BITS(3),TEMP

0061    325	FORMAT (' ',T40,A,T65,Z8)

0062    	TEMP=ISHFT(TEMP,2)

0063    	WRITE (LUN,325) SBITA_BITS(4), TEMP

0064    	RETURN

0065    	END



SBITA           22-Aug-1978 02:53:57	VAX-11 FORTRAN IV-PLUS V1.0-2      Page 3   

					SBITA.FOR.4         



		.TITLE	SBITA

		.IDENT	01



    0000	.PSECT	$PDATA

    0000	.XBYTE	53,42,49,54,41,28,49,44,23,31,41,29

    000C	.LONG	^X0000001E

    0010	.LONG	^X00000002

    0014	.LONG	^X00000002



    00B0	.PSECT	$LOCAL

    00B0	.LONG	^X00000002

    00B4	.LONG	^X00000000

    00B8	.ADDR	LINE_CT

    00BC	.LONG	^X010E000C

    00C0	.ADDR	$PDATA

    00C4	.LONG	^X00000003

    00C8	.ADDR	$PDATA+^XC

    00CC	.ADDR	$PDATA+^X10

    00D0	.LONG	^X00000000

    00D4	.LONG	^X010E0000

    00D8	.LONG	^X00000000

    00DC	.LONG	^X00000002

    00E0	.ADDR	TEMP

    00E4	.ADDR	$PDATA+^X14



    0018	.PSECT	$PDATA

    0018  .200:

    0018	.XBYTE	0F,01,20,0D,0A,29,0D,17,19,08,04

    0023  .300:

    0023	.XBYTE	0F,01,20,0D,28,29,07,0D,47,19,02,04

    002F  .310:

    002F	.XBYTE	0F,01,20,0D,2D,29,04

    0036  .325:

    0036	.XBYTE	0F,01,20,0D,28,29,0D,41,19,08,04



    0028	.PSECT	$LOCAL

    0028  SBITA_BITS:

    0028	.XBYTE	4D,4F,44,45,20,4F,46,20,52,45,46,45,52,45,4E,43

    0038	.XBYTE	45,3C,33,31,3A,33,30,3E,3A

    0041	.XBYTE	20 [7]

    0048  SBITA_BITS+32:

    0048	.XBYTE	50,52,4F,54,45,43,54,49,4F,4E,20,43,48,45,43,4B

    0058	.XBYTE	45,44,20,52,45,46,45,52,45,4E,43,45,3C,32,39,3E

    0068  SBITA_BITS+64:

    0068	.XBYTE	53,42,49,20,41,44,44,52,45,53,53,3C,32,37,3A,30

    0078	.XBYTE	30,3E,3A

    007B	.XBYTE	20 [13]

    0088  SBITA_BITS+96:

    0088	.XBYTE	50,48,59,53,49,43,41,4C,20,41,44,44,52,45,53,53

    0098	.XBYTE	3A

    0099	.XBYTE	20 [15]

    0000  MODE:

    0000	.XBYTE	4B,45,52,4E,45,4C

    0006	.XBYTE	20 [4]

    000A  MODE+10:

    000A	.XBYTE	45,58,45,43,55,54,49,56,45



SBITA           22-Aug-1978 02:53:57	VAX-11 FORTRAN IV-PLUS V1.0-2      Page 4   

					SBITA.FOR.4         



    0013	.XBYTE	20 [1]

    0014  MODE+20:

    0014	.XBYTE	53,55,50,45,52,56,49,53,4F,52

    001E  MODE+30:

    001E	.XBYTE	55,53,45,52

    0022	.XBYTE	20 [6]



    0000	.PSECT	$CODE

    0000  SBITA::

    0000	.WORD	^M<IV,R10,R11>

    0002	MOVAL	$LOCAL+^XAC, R11

									    ; 0048

    0009	MOVW	#5, LINE_CT(R11)

									    ; 0049

    000D	BITL	@REG(AP), #^X20000000

    0015	BEQL	L$IAPF

    0017	INCW	LINE_CT(R11)

    001A  L$IAPF:

									    ; 0050

    001A	MOVAB	@LUN(AP), $LOCAL+^XB4(R11)

    001F	CALLG	$LOCAL+^XB0(R11), LINCHK

									    ; 0051

    0027	PUSHAL	.200

    002D	CVTBL	@LUN(AP), -(SP)

    0031	CALLS	#2, FOR$WRITE_SF

    0038	PUSHAB	$LOCAL+^XBC(R11)

    003B	CALLS	#1, FOR$IO_T_DS

    0042	PUSHAL	@REG(AP)

    0045	CALLS	#1, FOR$IO_L_R

    004C	CALLS	#0, FOR$IO_END

									    ; 0053

    0053	MOVAL	@REG(AP), $LOCAL+^XD0(R11)

    0058	CALLG	$LOCAL+^XC4(R11), LIB$EXTZV

    0060	MOVL	R0, TEMP(R11)

									    ; 0054

    0063	PUSHAL	.300

    0069	CVTBL	@LUN(AP), R10

    006D	PUSHL	R10

    006F	CALLS	#2, FOR$WRITE_SF

    0076	MOVW	#32, $LOCAL+^XD4(R11)

    007A	MOVAB	SBITA_BITS(R11), $LOCAL+^XD8(R11)

    0080	PUSHAB	$LOCAL+^XD4(R11)

    0083	CALLS	#1, FOR$IO_T_DS

    008A	PUSHAL	TEMP(R11)

    008C	CALLS	#1, FOR$IO_L_R

    0093	CALLS	#0, FOR$IO_END

									    ; 0055

    009A	PUSHAL	.310

    00A0	PUSHL	R10

    00A2	CALLS	#2, FOR$WRITE_SF

    00A9	MULL3	#10, TEMP(R11), R0

    00AD	MOVW	#10, $LOCAL+^XD4(R11)

    00B1	MOVAB	MODE(R11)[R0], $LOCAL+^XD8(R11)

    00B8	PUSHAB	$LOCAL+^XD4(R11)

    00BB	CALLS	#1, FOR$IO_T_DS

    00C2	CALLS	#0, FOR$IO_END



SBITA           22-Aug-1978 02:53:57	VAX-11 FORTRAN IV-PLUS V1.0-2      Page 5   

					SBITA.FOR.4         



									    ; 0058

    00C9	BITL	@REG(AP), #^X20000000

    00D1	BEQL	L$IAHI

    00D3	PUSHAL	.300

    00D9	PUSHL	R10

    00DB	CALLS	#2, FOR$WRITE_SF

    00E2	MOVW	#32, $LOCAL+^XD4(R11)

    00E6	MOVAB	SBITA_BITS+32(R11), $LOCAL+^XD8(R11)

    00EB	PUSHAB	$LOCAL+^XD4(R11)

    00EE	CALLS	#1, FOR$IO_T_DS

    00F5	CALLS	#0, FOR$IO_END

    00FC  L$IAHI:

									    ; 0059

    00FC	BICL3	#^XF0000000, @REG(AP), TEMP(R11)

									    ; 0060

    0105	PUSHAL	.325

    010B	PUSHL	R10

    010D	CALLS	#2, FOR$WRITE_SF

    0114	MOVW	#32, $LOCAL+^XD4(R11)

    0118	MOVAB	SBITA_BITS+64(R11), $LOCAL+^XD8(R11)

    011D	PUSHAB	$LOCAL+^XD4(R11)

    0120	CALLS	#1, FOR$IO_T_DS

    0127	PUSHAL	TEMP(R11)

    0129	CALLS	#1, FOR$IO_L_R

    0130	CALLS	#0, FOR$IO_END

									    ; 0062

    0137	CALLG	$LOCAL+^XDC(R11), MTH$JISHFT

    013F	MOVL	R0, TEMP(R11)

									    ; 0063

    0142	PUSHAL	.325

    0148	PUSHL	R10

    014A	CALLS	#2, FOR$WRITE_SF

    0151	MOVW	#32, $LOCAL+^XD4(R11)

    0155	MOVAB	SBITA_BITS+96(R11), $LOCAL+^XD8(R11)

    015A	PUSHAB	$LOCAL+^XD4(R11)

    015D	CALLS	#1, FOR$IO_T_DS

    0164	PUSHAL	TEMP(R11)

    0166	CALLS	#1, FOR$IO_L_R

    016D	CALLS	#0, FOR$IO_END

									    ; 0064

    0174	RET	

		.END



SBITA           22-Aug-1978 02:53:57	VAX-11 FORTRAN IV-PLUS V1.0-2      Page 6   

					SBITA.FOR.4         



PROGRAM SECTIONS



    Name                 Bytes   Attributes



  0 $CODE                  373   PIC CON REL LCL   SHR   EXE   RD NOWRT LONG

  1 $PDATA                  65   PIC CON REL LCL   SHR NOEXE   RD NOWRT LONG

  2 $LOCAL                 232   PIC CON REL LCL NOSHR NOEXE   RD   WRT LONG





ENTRY POINTS



    Address  Type Name           



  0-00000000      SBITA          





VARIABLES



    Address  Type Name               Address  Type Name               Address  Type Name               Address  Type Name           



  2-000000A8  I*2 LINE_CT         AP-00000004@ L*1 LUN             AP-00000008@ I*4 REG              2-000000AC  I*4 TEMP           





ARRAYS



    Address  Type Name		       Bytes  Dimensions



  2-00000000  CHR MODE                    40  (0:3)

  2-00000028  CHR SBITA_BITS             128  (4)





LABELS



    Address   Label       Address   Label       Address   Label       Address   Label   



  1-00000018  200'      1-00000023  300'      1-0000002F  310'      1-00000036  325'    





FUNCTIONS AND SUBROUTINES REFERENCED



LIB$EXTZV         LINCHK            MTH$JISHFT     





Total Space Allocated = 670 Bytes





COMPILER OPTIONS



/CHECK=(NOBOUNDS,OVERFLOW)

/DEBUG=(NOSYMBOLS,TRACEBACK)

/OPTIMIZE  /WARNINGS  /I4  /NOD_LINES  

