Trailing-Edge
-
PDP-10 Archives
-
CFS_TSU04_19910205_1of1
-
update/cblsrc/cdd.mac
There are 9 other files named cdd.mac in the archive. Click here to see a list.
; UPD ID= 1022 on 4/28/83 at 6:05 PM by NIXON
TITLE CDD FOR LIBOL
SUBTTL CONVERT FROM DISPLAY TO DISPLAY /ACK
SEARCH COPYRT
SALL
;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
COPYRIGHT (C) 1974, 1983, 1984 BY DIGITAL EQUIPMENT CORPORATION
;REVISION HISTORY:
;V10 *****
; 15-DEC-74 /ACK CREATION.
; 5/10/75 /DBT ADD BIS
;*****
SEARCH LBLPRM ;DEFINE PARAMETERS.
%%LBLP==:%%LBLP
EXTERN EASTB. ;FORCE EASTBL TO BE LOADED.
HISEG
.COPYRIGHT ;Put standard copyright statement in REL file
COMMENT \
THIS ROUTINE CONVERTS A STRING FROM ONE FLAVOR OF DISPLAY TO ANOTHER.
CALL:
MOVE 16,PARAMETER ADDRESS
PUSHJ 17,C.D6D7/C.D6D9/C.D7D6/C.D7D9/C.D9D6/C.D9D7
PARAMETERS:
WORD 1:
BYTE POINTER FOR THE INPUT STRING.
WORD 2:
BITS 0-5 BYTE POINTER RESIDUE FOR THE OUTPUT STRING.
BIT 6 IGNORED (1 IF THE OUTPUT FIELD IS SIGNED.)
BITS 7-17 THE SIZE OF BOTH FIELDS.
BITS 18-35 ADDRESS OF THE FIRST BYTE OF THE OUTPUT FIELD.
RETURNS:
CALL+1 ALWAYS.
REGISTERS USED:
CPTR, JAC, CH, IPTR, OPTR, CNT
\
ENTRY C.D6D7 ;TO CONVERT SIXBIT TO ASCII.
ENTRY C.D7D6 ;TO CONVERT ASCII TO SIXBIT.
ENTRY C.D6D9 ;TO CONVERT SIXBIT TO EBCIDC.
ENTRY C.D7D9 ;TO CONVERT ASCII TO EBCDIC.
ENTRY C.D9D6 ;TO CONVERT EBCDIC TO SIXBIT.
ENTRY C.D9D7 ;TO CONVERT EBCDIC TO ASCII.
EXTERN BSET2. ;ROUTINE TO PICK UP THE PARAMETERS.
EXTERN RET.1 ;RETURNS TO CALL+1.
C.D7D6: JSP BISCH, CDD ; HERE TO CONVERT ASCII TO SIXBIT,
C.D9D6: JSP BISCH, CDD ; HERE TO CONVERT EBCDIC TO SIXBIT AND
C.D6D7: JSP BISCH, CDD ;ENTER HERE TO CONVERT SIXBIT TO ASCII,
C.D9D7: JSP BISCH, CDD ; HERE TO CONVERT EBCDIC TO ASCII.
Z
Z
C.D6D9: JSP BISCH, CDD ; HERE TO CONVERT SIXBIT TO EBCDIC,
C.D7D9: JSP BISCH, CDD ; HERE TO CONVERT ASCII TO EBCDIC,
CDD:
SUBI BISCH,C.D7D6-13 ;COMPUTE INDEX
JSP JAC, BSET2. ;GO PICK UP THE PARAMETERS.
EXP RET.1 ;RETURN TO CALL+1 THROUGH HERE IF
; THE STRING LENGTH IS 0.
MOVE BIST0, C.DTBL-14(BISCH) ;GET INSTRUCTION
LSH BISCH,-1 ;GET BYTE SIZE
DPB BISCH,BPTOBS## ;STORE IN OUTPUT POINTER
TLO B.FLAG,BFLG.S ;TURN SIGNIFICANCE ON
EXTEND B.FLAG,BIST0 ;GO
JRST ERROR
POPJ PP, ;DONE
C.DTBL:
MOVST ALP.76## ;7 TO 6
MOVST ALP.96## ;9 TO 6
MOVSO +40 ;6 TO 7
MOVST ALP.97## ;9 TO 7
0
0
MOVST ALP.69## ;6 TO 9
MOVST ALP.79## ;7 TO 9
ERROR: OUTSTR [ASCIZ '?LIBOL CDD.N error
']
POPJ PP,
END