This document describes "MOVE," an OS/8 utility program (DECUS No. 12-136) developed by Larry Davis and Carl Ralston. Its primary function is to efficiently transfer files from one OS/8 directory device to another, achieving efficiency by reading the input and output device directories only once.
Key Features and Usage:
R MOVE <output_device>:<input_device>:<file1.ext1>,<file2.ext2>...Error Handling: The program provides specific error messages for various issues, including:
<DEV> NOT AVAILABLE).<DEV> DIR SEG, DIR OVERFLOW).<FILE> NOT FOUND).<FILE> TOO BIG).NO!!).R MOVE with no parameters, or with only an output device specified).Internal Mechanism: MOVE operates by first loading device handlers for both input and output, then reading their entire directories into memory. It then iteratively looks up each specified file on the input device, adds its entry to the output directory (managing directory segment splitting as needed), and finally performs the actual data transfer. After all files are transferred, the modified output directory is written back to the device.
Chaining to MOVE:
For repetitive or complex file transfer sequences, the document describes a "chaining" method. This allows users to write a short program that pre-populates a specific memory buffer (starting at location 01000) with the MOVE command line parameters (device and file names), effectively automating the transfer process. Limitations include a maximum of 42 files and a buffer size constraint. An example PAL-8 assembly listing for a program (STORE) demonstrating this chaining is provided.
Disclaimer and Compatibility: The document includes a disclaimer from DECUS, stating that MOVE is a "USER program" with no quality control, warranty, or implied responsibility, functioning merely as a clearinghouse. It also lists specific source code changes required for the program to work with PS/8 systems.
Site structure and layout ©2025 Majenko Technologies