home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c005 / 5.ddi / C / UTSLMOVE.C < prev    next >
Encoding:
C/C++ Source or Header  |  1986-08-05  |  1.4 KB  |  42 lines

  1. /**
  2. *
  3. * Name        utslmove -- Move bytes from one segment address to another
  4. *
  5. * Synopsis    iret = utslmove(psource,ptarget,cnt);
  6. *
  7. *        int iret      Return value is always 0
  8. *        ADS *psource      Pointer to segment,offset address of the
  9. *                  memory location to move.
  10. *        ADS *ptarget      Pointer to segment,offset address of the
  11. *                  memory location to receive the data.
  12. *        unsigned cnt      Number of bytes to move
  13. *
  14. * Description    This function moves blocks of storage from one location
  15. *        to another, where the locations are given by segment and
  16. *        offset addresses.  This allows access to the machine's
  17. *        entire main memory.  The address type is a structure
  18. *        whose components are unsigned representing segment and
  19. *        offset addresses.  The actual move is made by calling
  20. *        the assembler routine utmove, which moves the data from
  21. *        "left" to "right" using the movsb instruction.
  22. *
  23. *        The source and target buffers should not overlap.
  24. *
  25. * Returns    No values are returned (the functional value is always 0).
  26. *        The pointers psource and ptarget are not altered.
  27. *
  28. * Version    3.0 (C)Copyright Blaise Computing Inc.    1983,1984,1985,1986
  29. *
  30. **/
  31.  
  32. #include <butility.h>
  33.  
  34. int utmove(unsigned,unsigned,unsigned,unsigned,unsigned);
  35.  
  36. int utslmove(psource,ptarget,cnt)
  37. ADS *psource,*ptarget;
  38. unsigned cnt;
  39. {
  40.     return utmove(psource->s,psource->r,ptarget->s,ptarget->r,cnt);
  41. }
  42.