Browse Prior Art Database

Move Long Embellished Instruction

IP.com Disclosure Number: IPCOM000052405D
Original Publication Date: 1981-Jun-01
Included in the Prior Art Database: 2005-Feb-11
Document File: 5 page(s) / 89K

Publishing Venue

IBM

Related People

Beetcher, RC: AUTHOR [+2]

Abstract

Move Long Embellished (MLE) is an Assembler level instruction which provides for consolidating high level move functions and stratifying the overhead required to perform them on a computing system.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 36% of the total text.

Page 1 of 5

Move Long Embellished Instruction

Move Long Embellished (MLE) is an Assembler level instruction which provides for consolidating high level move functions and stratifying the overhead required to perform them on a computing system.

Consolidation of high level move functions is desirable in that it simplifies the implementation of these functions for language processors on a system. MLE provides this by supporting a flexible instruction interface. It can be used to request various combinations of the high level move functions commonly supported by a high level language (HLL). The following move functions are supported by MLE: - Propagation of a byte value. - Left adjusted moves with or without padding. - Right adjusted moves with or without padding. - Non-overlapped or overlapped moves. - Non-tagged data or tagged data moves. - Variable length moves. - Long moves of up to 32K-1. - Lengths count from one not zero. - Move function is interruptible.

Stratification of overhead is desirable to assure that performance overhead is only for the functions requested for a particular execution of the instruction. MLE provides for this in two ways: - The amount of operand set up, registers, addressability, etc., required prior to the instruction varies with the level of function requested. This provides for reduced size of code generated for simpler forms of HLL move instructions in object programs. - The flexibility of the MLE interface allows for its implementation on a machine to directly vary the performance overhead for it with the level of function requested. This avoids the common situation of a ponderous all-encompassing set-up for a grand function when just a simple function is actually desired.

The following material provides the Assembler level definition of MLE and some diagrams which relate combinations of its functions to commonly supported HLL instructions. Tagged data is considered to be a reference to the capability of having bytes in storage tagged or not tagged. Tagged data moves preserve these storage tags over the move. Non-tagged data moves reset these storage tags over the move.

Assembler Instruction Format:

MLE D1(B1),D2(B2),R3,M4

Machine Instruction Format: See Original

Explicit Operands:

Operand 1, D1(B1) = Receiver field Base/Displacement (B/D)

1

Page 2 of 5

Operand 2, D2(B2) = Source Field, or Pad Character B/D

Operand 3, R3 = Register number of halfword register

containing the source or receiver length.

Operand 4, M4 = Mask for instruction options.

Implicit Operands:

Halfword Register 13 (HR13) = Instruction status field.

Halfword Register 14 (HR14) = Receiver length.

Byte Register 15 (BR15) = One-byte pad character Operand Notes: Implicit operands may or may not be used depending upon the functions requested in the options mask. HR13, the status field, is only used for overlapped moves as a work area to hold instruction execution status. The length fields R3 and HR14 are assumed to contain lengths counting from on...