OR / ORR - Overlay-Replace Lines

Syntax


OR[n]

ORR / ORR

ORR is the block form of this command.


Operands


n

The number of lines to be overlay-replaced. If you do not type a number, or if the number you type is 1, only one line is overlay-replaced.


Description

The Overlay-Replace line command operates similar to the standard Overlay line command, with a slight difference.  Overlay-Replace is used to unconditionally overlay data from the ‘sending' lines to the ‘receiving' lines.


The standard Overlay line command takes a set of one or more ‘sending' lines and overlays them on top of a set of one or more ‘receiving' lines.  Sending lines are marked by C/CC or M/MM line commands, and receiving lines are marked by O/OO or O&/OO& line commands.  (The & versions are persistent variants of the standard O and OO commands).


In the standard Overlay, non-blank characters in the sending lines overlay blank characters in the receiving lines, on a character by character basis.  A ‘benign overlay' occurs if a non-blank sending character position is matched to a non-blank receiving character when the two character values are identical.  When the two relative positions are not blank and are not identical, an overlay mismatch occurs.  For sending lines marked with C/CC, the mismatch is ignored for that character in that column, and the receiving column is unchanged.  For sending lines marked with M//MM, the mismatch is ignored for the character in that column, an error message is displayed, and the mismatch prevents the lines marked with M/MM from being deleted afterwards.


For Overlay-Replace command, these semantics are modified as follows.  


The receiving lines for an Overlay-Replace are marked with the line command OR, or with a block command of ORR or OROR.  For an Overlay-Replace command, the overlay mismatch condition that can occur for a standard Overlay command does not take place.  There is no such thing as a mismatch in this command, and no mismatch error messages are displayed.  


Instead, all non-blank characters from the sending lines are superimposed on the receiving lines, without regard to the prior contents of the receiving lines.  Where a sending line has blank character positions, the corresponding character positions in the receiving lines are left unchanged.  Because mismatch conditions can never occur, sending lines marked with M/MM are always deleted afterwards for the OR command.


O/OO Examples


Before:


O 0001 A CD

C 0002 ABX


After: (no message issued)


000001 ABCD

000002 ABX


Before:


O 0001 A CD

M 0002 ABX


After: (message:  MOVE data not deleted – all data not overlaid,  line 2 not deleted)


000001 ABCD

000002 ABX


OR/ORR Examples


Before:


OR 001 A CD

C 0002 ABX


After: (no message issued)


000001 ABXD

000002 ABX


Before:


OR 001 A CD

M 0002 ABX


After: (no message issued, line 2 is gone)


000001 ABXD                because line 2 is moved over line 1



See O / OO - Overlay Lines for an Application Note regarding use of excluded lines when performing an overlay.


Created with the Personal Edition of HelpNDoc: Easy Qt Help documentation editor