4-May-1990 11:31:57 VAX Bliss-32 V4.5-862 Page 1 4-May-1990 11:31:52 CTYTEST.BLI;15 (1) ; 0001 0 ! ; 0002 0 %TITLE 'CTYTEST' ; 0003 0 MODULE ctytest (IDENT = 'V01.01', ! File: CTYTEST.BLI ; 0004 0 MAIN = ctytest ; 0005 0 ) = ; 0006 1 BEGIN ; 0007 1 ; 0008 1 !+ ; 0009 1 ! SWITCHES: ; 0010 1 !- ; 0011 1 ; 0012 1 SWITCHES ADDRESSING_MODE (EXTERNAL = GENERAL, NONEXTERNAL = WORD_RELATIVE); ; 0013 1 ; 0014 1 !+ ; 0015 1 ! TABLE OF CONTENTS: ; 0016 1 !- ; 0017 1 ; 0018 1 FORWARD ROUTINE ; 0019 1 ctytest, ; 0020 1 kernel_routine; ; 0021 1 ; 0022 1 !+ ; 0023 1 ! INCLUDE FILES: ; 0024 1 !- ; 0025 1 ; 0026 1 LIBRARY 'SYS$LIBRARY:LIB'; ! VMS dependent macros/symbols. ; 0027 1 ; 0028 1 LIBRARY '[-]CONSOLIO_LIB'; ; 0029 1 CTYTEST CTYTEST 4-May-1990 11:31:57 VAX Bliss-32 V4.5-862 Page 2 V01.01 4-May-1990 11:31:52 CTYTEST.BLI;15 (2) ; 0031 1 ROUTINE ctytest = ; 0032 2 BEGIN ; 0033 2 ; 0034 2 LOCAL ; 0035 2 status; ; 0036 2 ; 0037 3 IF NOT (status = $cmkrnl (routin = kernel_routine)) ; 0038 2 THEN ; 0039 2 SIGNAL (.status); ; 0040 2 ; 0041 2 .status ; 0042 1 END; ! End of routine CTYTEST .TITLE CTYTEST CTYTEST .IDENT \V01.01\ .EXTRN SYS$CMKRNL .PSECT $CODE$,NOWRT,2 ;CTYTEST U.1: .WORD ^M ;Save R2 0031 0004 00000 CLRL -(SP) ;-(SP) 0037 7E D4 00002 PUSHAB W^U.2 ;U.2 0000V CF 9F 00004 CALLS #2, G^SYS$CMKRNL ;#2, SYS$CMKRNL 00000000G 00 02 FB 00008 MOVL R0, R2 ;R0, STATUS 52 50 D0 0000F BLBS R2, 1$ ;STATUS, 1$ 09 52 E8 00012 PUSHL R2 ;STATUS 0039 52 DD 00015 CALLS #1, G^LIB$SIGNAL ;#1, LIB$SIGNAL 00000000G 00 01 FB 00017 1$: MOVL R2, R0 ;STATUS, R0 0042 50 52 D0 0001E RET ; 04 00021 ; Routine Size: 34 bytes, Routine Base: $CODE$ + 0000 CTYTEST CTYTEST 4-May-1990 11:31:57 VAX Bliss-32 V4.5-862 Page 3 V01.01 4-May-1990 11:31:52 CTYTEST.BLI;15 (3) ; 0044 1 ROUTINE kernel_routine = ; 0045 2 BEGIN ; 0046 2 ; 0047 2 LOCAL ; 0048 2 txcs, ; 0049 2 rxcs, ; 0050 2 ans : VECTOR [20, BYTE], ; 0051 2 anslen; ; 0052 2 ; 0053 2 _owncty (txcs = txcs, rxcs = rxcs); ; 0054 2 _outzstring (string = 'abc'); ; 0055 2 _outcrlf; ; 0056 2 _outcstring (string = 'txcs = '); ; 0057 2 _outhex (value = .txcs); ; 0058 2 _outblank; ; 0059 2 _outcstring (string = 'rxcs = '); ; 0060 2 _outhex (value = .rxcs); ; 0061 2 _outcrlf; ; 0062 2 ; L 0063 2 %IF 0 ; U 0064 2 %THEN ; U 0065 2 anslen = _read_prompt (prompt = 'What to do? ', len = 20, string = ans [0]); ; U 0066 2 _outchar (char = '"'); ; U 0067 2 _putstring (string = ans [0], len = .anslen); ; U 0068 2 _outzstring (string = '" Length = %X'''); ; U 0069 2 _outhex (value = .anslen); ; U 0070 2 _putchar (char = ''''); ; U 0071 2 _outcrlf; ; 0072 2 %FI ; 0073 2 ; 0074 2 _releasecty (txcs = .txcs, rxcs = .rxcs); ; 0075 2 RETURN (ss$_normal); ; 0076 1 END; ! End of routine KERNEL_ROUTINE .PSECT $PLIT$,NOWRT,NOEXE,2 P.AAA: .ASCII \abc\ ; 63 62 61 00000 .BYTE 0 ; 00 00003 P.AAB: .BYTE 7 ; 07 00004 .ASCII \txcs = \ ; 20 3D 20 73 63 78 74 00005 P.AAC: .BYTE 7 ; 07 0000C .ASCII \rxcs = \ ; 20 3D 20 73 63 78 72 0000D .EXTRN CON_OWNCTY, CON_OUTZSTRING, CON_OUTCRLF, CON_OUTCSTRING, CON_OUTHEX, CON_OUTBLANK .EXTRN CON_RELEASECTY .PSECT $CODE$,NOWRT,2 ;KERNEL_ROUTINE U.2: .WORD ^M ;Save R2,R3,R4 0044 001C 00000 SUBL2 #20, SP ;#20, SP 5E 14 C2 00002 BSBW CON_OWNCTY ;CON_OWNCTY 0053 0000G 30 00005 MOVL R0, R4 ;R0, R4 54 50 D0 00008 MOVL R1, R3 ;R1, R3 53 51 D0 0000B CTYTEST CTYTEST 4-May-1990 11:31:57 VAX Bliss-32 V4.5-862 Page 4 V01.01 4-May-1990 11:31:52 CTYTEST.BLI;15 (3) MOVAB W^P.AAA, R1 ;P.AAA, R1 0054 51 0000' CF 9E 0000E BSBW CON_OUTZSTRING ;CON_OUTZSTRING 0000G 30 00013 BSBW CON_OUTCRLF ;CON_OUTCRLF 0055 0000G 30 00016 MOVAB W^P.AAB, R1 ;P.AAB, R1 0056 51 0000' CF 9E 00019 BSBW CON_OUTCSTRING ;CON_OUTCSTRING 0000G 30 0001E CLRL R0 ;R0 0057 50 D4 00021 MOVL R4, R1 ;TXCS, R1 51 54 D0 00023 BSBW CON_OUTHEX ;CON_OUTHEX 0000G 30 00026 BSBW CON_OUTBLANK ;CON_OUTBLANK 0058 0000G 30 00029 MOVAB W^P.AAC, R1 ;P.AAC, R1 0059 51 0000' CF 9E 0002C BSBW CON_OUTCSTRING ;CON_OUTCSTRING 0000G 30 00031 CLRL R0 ;R0 0060 50 D4 00034 MOVL R3, R1 ;RXCS, R1 51 53 D0 00036 BSBW CON_OUTHEX ;CON_OUTHEX 0000G 30 00039 BSBW CON_OUTCRLF ;CON_OUTCRLF 0061 0000G 30 0003C MOVL R3, R1 ;RXCS, R1 0074 51 53 D0 0003F MOVL R4, R0 ;TXCS, R0 50 54 D0 00042 BSBW CON_RELEASECTY ;CON_RELEASECTY 0000G 30 00045 MOVL #1, R0 ;#1, R0 0075 50 01 D0 00048 RET ; 04 0004B ; Routine Size: 76 bytes, Routine Base: $CODE$ + 0022 ; 0077 1 END ! End of module DUMMY ; 0078 1 ; 0079 0 ELUDOM .EXTRN LIB$SIGNAL ; PSECT SUMMARY ; ; Name Bytes Attributes ; ; $CODE$ 110 NOVEC,NOWRT, RD , EXE,NOSHR, LCL, REL, CON,NOPIC,ALIGN(2) ; $PLIT$ 20 NOVEC,NOWRT, RD ,NOEXE,NOSHR, LCL, REL, CON,NOPIC,ALIGN(2) ; Library Statistics ; ; -------- Symbols -------- Pages Processing ; File Total Loaded Percent Mapped Time ; ; SYS$COMMON:[SYSLIB]LIB.L32;5 32180 4 0 1736 00:03.2 ; DISK$SYSTEM:[BRIAN-JIM.CONSOLIO]CONSOLIO_LIB.L32;8 ; 35 21 60 8 00:00.2 CTYTEST CTYTEST 4-May-1990 11:31:57 VAX Bliss-32 V4.5-862 Page 5 V01.01 4-May-1990 11:31:52 CTYTEST.BLI;15 (3) ; COMMAND QUALIFIERS ; BLISS/LIST/MACHINE=(ASSEMBLER,UNIQUE)/OPTIMIZE=(SPEED,LEVEL=3) CTYTEST ; Size: 110 code + 20 data bytes ; Run Time: 00:06.5 ; Elapsed Time: 00:15.3 ; Lines/CPU Min: 729 ; Lexemes/CPU-Min: 5160 ; Memory Used: 86 pages ; Compilation Complete .END U.1