home *** CD-ROM | disk | FTP | other *** search
- $!XXXXXXXXXXXXXXXXXXXXXXXX FILE VAXC-MAKE.COM XXXXXXXXXXXXXXXXXXXXXXXXX
- $!++
- $! BCOPY from GNU Sources, This module is not included in
- $! VAXCRTL.
- $!--
- $ ON WARNING THEN CONTINUE
- $ MACRO/OBJ=BCOPY.OBJ SYS$INPUT
- .TITLE BCOPY Copy bytes from one array to another
- .IDENT /1.00/
-
- .PSECT $CODE,LONG,PIC,REL,SHR,EXE,RD,NOWRT
-
- ; bcopy(from, to, size)
-
- .ENTRY BCOPY,^M<R2,R3,R4,R5,R6>
- MOVL 4(AP),R1
- MOVL 8(AP),R3
- MOVL 12(AP),R6
- CMPL R1,R3
- BGTR 2$ ; NORMAL FORWARD CASE
- BLSS 3$ ; OVERLAPPING, MUST DO BACKWARDS
- RET ; EQUAL, NOTHING TO DO
- 1$:
- SUBL2 R0,R6
- MOVC3 R0,(R1),(R3)
- 2$:
- MOVZWL #65535,R0
- CMPL R6,R0
- BGTR 1$
- MOVC3 R6,(R1),(R3)
- RET
- 3$:
- ADDL2 R6,R1
- ADDL2 R6,R3
- MOVZWL #65535,R0
- BRW 5$
- 4$:
- SUBL2 R0,R6
- SUBL2 R0,R1
- SUBL2 R0,R3
- MOVC3 R0,(R1),(R3)
- MOVZWL #65535,R0
- SUBL2 R0,R1
- SUBL2 R0,R3
- 5$:
- CMPL R6,R0
- BGTR 4$
- SUBL2 R6,R1
- SUBL2 R6,R3
- MOVC3 R6,(R1),(R3)
- RET
-
- .END
- $ COMPILE :== "CC"
- $ COMPILE ARGS.C
- $ COMPILE BACKUP.C
- $ COMPILE GLOBS.C
- $ COMPILE INDENT.C
- $ COMPILE IO.C
- $ COMPILE LEXI.C
- $ COMPILE MEMCPY.C
- $ COMPILE PARSE.C
- $ COMPILE PR_COMMENT.C
- $ LINK INDENT,ARGS,BACKUP,GLOBS,IO, -
- LEXI,MEMCPY,PARSE,PR_COMMENT,BCOPY, -
- SYS$INPUT/OPT
- SYS$LIBRARY:VAXCRTL.EXE/SHARE
- $!XXXXXXXXXXXXXXXXXXXXXXXXXXX END OF FILE VAXC-MAKE.COM XXXXXXXXXXXXXXXXXXXXXXXXXXX
-