.TITLE PACK BYTES ; FORTRAN-CALLABLE BYTE-PACKING SUBROUTINE ; CALLING CONVENTION: ; CALL BPACK (BUFFER, IWDCNT) ; IN WHICH: ; BUFFER = START OF WORD BUFFER FROM WHICH WORDS ; WILL BE EXTRACTED AND TO WHICH LOWER-ORDER BYTES ; WILL BE SUCCESSIVELY PACKED INTO WORDS ; IWDCNT = THE NUMBER OF RESULTANT PACKED WORDS DESIRED ( 1/2 THE ; NUMBER OF BYTES TO BE PACKED ) ; ALL NEW CODE: 17 MAY 77 ; PROGRAMMER: KEN DINWIDDIE .PAGE .MCALL ..V2..,.REGDEF ..V2.. .REGDEF .GLOBL BPACK BPACK: TST (R5)+ ; ADVANCE POINTER TO FIRST ARGUMENT MOV (R5)+,R0 ; PICK UP BUFFER POINTER MOV R0,R1 ; AND PLACE IN R1 ALSO MOV @(R5)+,R4 ; PICK UP WORD COUNT BPACK1: MOV (R0)+,R2 ; PICK UP LEAST-SIGNIFICANT BYTE WORD MOV (R0)+,R3 ; PICK UP MOST-SIGNIFICANT BYTE WORD MOVB R2,(R1)+ ; STORE LEAST-SIGNIFICANT BYTE MOVB R3,(R1)+ ; STORE MOST-SIGNIFICANT BYTE DEC R4 ; ACCOUNT FOR THIS WORD PROCESSED BNE BPACK1 ; DO MORE IF REQUIRED RTS PC .END