; SUBROUTINE TO SWAP BYTES IN A USER ARRAY ; PATTERNED AFTER ENTRY IN CODE 664 FTIO ; 13JUN78-0900 ; ;*************************************************************************; ; CALL SWABI(ARRAY,NBYTES) ; WHERE ARRAY IS A DATA ARRAY IN WHICH BYTES ARE TO BE SWAPPED ; NBYTES IS NUMBER OF BYTES TO BE SWAPPED ; ROUTINE CALLS EXIT$S FOR WRONG NUMBER OF ARGUMENTS ;*************************************************************************; ; .TITLE SWABI .IDENT /V001/ .MCALL EXIT$S ; SWABI:: ; SAVE REGS .IRP X, MOV X,-(SP) .ENDM ; ; CHECK NUMBER OF ARGS CMP #2,(R5) BEQ 5$ EXIT$S ; ; SET UP LOOP - NBYTES/2 FOR NUMBER OF WORDS 5$: MOV @4(R5),R1 ASR R1 MOV 2(R5),R2 ; ; SWAP BYTES 10$: SWAB (R2)+ SOB R1,10$ ; ; RESTORE REGS .IRP X, MOV (SP)+,X .ENDM ; ; RETURN RTS PC .END