Trailing-Edge
-
PDP-10 Archives
-
BB-P363B-SM_1985
-
mcb/blis16/b16ch5.lst
There are no other files named b16ch5.lst in the archive.
B16CH5 OTS CH$ String Move and Fill 25-Jan-1983 16:48:31 TOPS-20 Bliss-16 2A(530) Page 1
25-Jan-1983 16:44:54 NETPKG:<BLIS16>B16CH5.B16.1 (1)
; 0001 MODULE B16CH5 (IDENT = '2-4' %TITLE'OTS CH$ String Move and Fill'
; 0002 ,LANGUAGE(BLISS16)
; 0003 ) =
; 0004 BEGIN
; 0005
; 0006 !
; 0007 ! COPYRIGHT (c) 1977,1978,1979,1980,1981,1982 BY
; 0008 ! DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
; 0009 !
; 0010 ! This software is furnished under a license and may be used and copied
; 0011 ! only in accordance with the terms of such license and with the
; 0012 ! inclusion of the above copyright notice. This software or any other
; 0013 ! copies thereof may not be provided or otherwise made available to any
; 0014 ! other person. No title to and ownership of the software is hereby
; 0015 ! transferred.
; 0016 !
; 0017 ! The information in this software is subject to change without notice
; 0018 ! and should not be construed as a commitment by DIGITAL EQUIPMENT
; 0019 ! CORPORATION.
; 0020 !
; 0021 ! DIGITAL assumes no responsibility for the use or reliability of its
; 0022 ! software on equipment which is not supplied by DIGITAL.
; 0023 !
; 0024
; 0025 !++
; 0026 ! FACILITY:
; 0027 ! Bliss-16 (and Bliss-16C/Bliss-11) Object Time System (OTS)
; 0028 !
; 0029 ! ABSTRACT:
; 0030 ! Implements CH$FILL and CH$MOVE.
; 0031 !--
; 0032 !
; 0033 !
; 0034 ! ENVIRONMENT:
; 0035 ! May be compiled with /ENVIRONMENT:EIS or /ENVIRONMENT:NOEIS
; 0036 !
; 0037 ! AUTHOR: %(/**/)%, CREATION DATE: %(/**/)%
; 0038 !
; 0039 ! MODIFIED BY:
; 0040 !
; 0041 !
; 0042 ! 1. 13-SEP-77 JAH CONVERT INCR TO DECR TO CREATE MORE EFFICIENT CODE.
; 0043 !
; 0044 ! 2. 7-MAY-79 JAH ADD EXTRA ENTRY POINT.
; 0045 !
; 0046 ! 3. 13-FEB-80 DGF BROUGHT INTO CONFORMANCE WITH SOFTWARE STANDARDS.
; 0047 !
; 0048 ! 4. 18-FEB-80 DGF MOVE BLISS-11 ENTRY POINTS TO B16B11
; 0049 !--
; 0050 !
; 0051 ! TABLE OF CONTENTS:
; 0052 !
B16CH5 OTS CH$ String Move and Fill 25-Jan-1983 16:48:31 TOPS-20 Bliss-16 2A(530) Page 2
2-4 25-Jan-1983 16:44:54 NETPKG:<BLIS16>B16CH5.B16.1 (1)
; 0053 !
; 0054
; 0055 FORWARD ROUTINE
; 0056 BL$FIL,
; 0057 BL$MOV;
; 0058
; 0059 MACRO
; 0060 BLANK=%NAME(' ')(WRITE,EXECUTE,LOCAL,CONCATENATE) %,
; 0061 ELIF=ELSE IF%;
; 0062
; 0063 PSECT
; 0064 CODE=BLANK,
; 0065 PLIT=BLANK,
; 0066 OWN=BLANK;
B16CH5 OTS CH$ String Move and Fill 25-Jan-1983 16:48:31 TOPS-20 Bliss-16 2A(530) Page 3
2-4 25-Jan-1983 16:44:54 NETPKG:<BLIS16>B16CH5.B16.1 (2)
; 0067 GLOBAL ROUTINE BL$FIL(FILLCODE, LEN, DEST) =
; 0068 !+
; 0069 ! FUNCTIONAL DESCRIPTION:
; 0070 ! PLACES A FILL CHARACTER AT EVERY POSITION OF A STRING.
; 0071 !
; 0072 ! INPUTS:
; 0073 ! FILLCODE: THE CHARACTER CODE.
; 0074 ! LEN: LENGTH OF THE STRING.
; 0075 ! DEST: POINTER TO THE STRING.
; 0076 !
; 0077 ! VALUE:
; 0078 ! POINTER TO THE CHARACTER JUST OFF THE END OF THE STRING.
; 0079 !-
; 0080 BEGIN
; 0081
; 0082 LOCAL
; 0083 DPTR; ! WHERE WE ARE ABOUT TO STORE A CHARACTER.
; 0084
; 0085 DPTR = .DEST; ! INITIALIZE.
; 0086
; 0087 DECR K FROM .LEN TO 1 DO !(1)
; 0088
; 0089 CH$WCHAR_A(.FILLCODE,DPTR);
; 0090
; 0091 RETURN .DPTR
; 0092
; 0093 END;
.TITLE B16CH5 OTS CH$ String Move and Fill
.IDENT /2.4/
.SBTTL BL$FIL
000000 .PSECT .
000000 010146 BL$FIL::MOV R1,-(SP) ; 0067
000002 016601 000004 MOV 4(SP),R1 ; DEST,DPTR 0085
000006 016600 000006 MOV 6(SP),R0 ; LEN,K 0087
000012 003403 BLE 2$
000014 116621 000010 1$: MOVB 10(SP),(R1)+ ; FILLCODE,DPTR 0089
000020 077003 SOB R0,1$ ; K,* 0000
000022 010100 2$: MOV R1,R0 ; DPTR,* 0080
000024 012601 MOV (SP)+,R1 ; 0067
000026 000207 RTS PC
; Routine Size: 12 words, Routine Base: . + 0000
; Maximum stack depth per invocation: 2 words
; 0094
; 0095
B16CH5 OTS CH$ String Move and Fill 25-Jan-1983 16:48:31 TOPS-20 Bliss-16 2A(530) Page 4
2-4 25-Jan-1983 16:44:54 NETPKG:<BLIS16>B16CH5.B16.1 (3)
; 0096 GLOBAL ROUTINE BL$MOV(LEN,SRC,DEST) =
; 0097 !+
; 0098 ! FUNCTIONAL DESCRIPTION:
; 0099 ! COPIES A STRING FROM ONE PLACE TO ANOTHER.
; 0100 !
; 0101 ! INPUTS:
; 0102 ! LEN: NUMBER OF CHARACTERS TO MOVE.
; 0103 ! SRC: POINTER TO THE SOURCE.
; 0104 ! DEST: POINTER TO THE DESTINATION.
; 0105 !
; 0106 ! VALUE:
; 0107 ! POINTER TO THE CHARACTER JUST OFF THE END OF THE STRING.
; 0108 !-
; 0109 BEGIN
; 0110
; 0111 LOCAL
; 0112 SPTR,
; 0113 DPTR;
; 0114
; 0115 SPTR = .SRC; ! INITIALIZE.
; 0116 DPTR = .DEST;
; 0117
; 0118 DECR K FROM .LEN TO 1 DO !(1)
; 0119
; 0120 CH$WCHAR_A( CH$RCHAR_A(SPTR), DPTR);
; 0121
; 0122 RETURN .DPTR
; 0123
; 0124 END;
.SBTTL BL$MOV
000000 004167 000000G BL$MOV::JSR R1,$SAVE2 ; 0096
000004 016600 000012 MOV 12(SP),R0 ; SRC,SPTR 0115
000010 016602 000010 MOV 10(SP),R2 ; DEST,DPTR 0116
000014 016601 000014 MOV 14(SP),R1 ; LEN,K 0118
000020 003402 BLE 2$
000022 112022 1$: MOVB (R0)+,(R2)+ ; SPTR,DPTR 0120
000024 077102 SOB R1,1$ ; K,* 0000
000026 010200 2$: MOV R2,R0 ; DPTR,* 0109
000030 000207 RTS PC ; 0096
; Routine Size: 13 words, Routine Base: . + 0030
; Maximum stack depth per invocation: 4 words
; 0125
; 0126
; 0127 END ELUDOM
B16CH5 OTS CH$ String Move and Fill 25-Jan-1983 16:48:31 TOPS-20 Bliss-16 2A(530) Page 5
2-4 25-Jan-1983 16:44:54 NETPKG:<BLIS16>B16CH5.B16.1 (3)
; OTS external references
.GLOBL $SAVE2
; PSECT SUMMARY
;
; Psect Name Words Attributes
; . 25 RW , I , LCL, REL, CON
; Size: 25 code + 0 data words
; Run Time: 00:00.7
; Elapsed Time: 00:01.5
; Memory Used: 4 pages
; Compilation Complete