ibm-information-center/dist/eclipse/plugins/i5OS.ic.apiref_5.4.0.1/MIintro.htm

82 lines
5.1 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="concept" />
<meta name="DC.Title" content="Machine interface instructions" />
<meta name="abstract" content="Programs and procedures are the two basic units of execution on iSeries." />
<meta name="description" content="Programs and procedures are the two basic units of execution on iSeries." />
<meta name="DC.Relation" scheme="URI" content="MIpgmg.htm" />
<meta name="DC.Relation" scheme="URI" content="../apis/qprcrtpg.htm" />
<meta name="DC.Relation" scheme="URI" content="../rzatk/mitoc.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="MIintro" />
<meta name="DC.Language" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>Machine interface instructions</title>
</head>
<body id="MIintro"><a name="MIintro"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Machine interface instructions</h1>
<div><p>Programs and procedures are the two basic units of execution on iSeries™.</p>
<p>Programs come in two flavors: the original program model (OPM) and the Integrated
Language Environment<sup>®</sup> (ILE). MI programs can be created only for the OPM
environment. If you require ILE support in the development of your applications,
use ILE C, ILE COBOL, or ILE RPG and the languages' built-in MI support.</p>
<p>In the OPM environment, a program is comprised of two basic components:
the object definition table (ODT) and an instruction stream. In the case of
MI programs, the program is created using the Create Program (QPRCRTPG) API.</p>
<p>The ODT is the means for defining all objects (program data elements) that
are referred to by the MI instruction stream. An ODT definition of an object
does not actually allocate storage for the object. It does, however, define
when and how much storage is to be allocated and also the attributes of the
storage (for example, the data type of the object). The ODT is built from
the declare (DCL) statements found in the source used to create a program.
Because DCL statements are actually instructions to the QPRCRTPG API and not
MI instructions, they are defined in the QPRCRTPG API.</p>
<p>The types of objects that can be declared are:</p>
<p>The instruction stream defines the set of operations to be performed by
the program. The instruction stream is built from the MI instructions found
in the source used to create a program. The various MI instructions that you
can use are defined in the iSeries Machine Interface instructions.</p>
<p>Within the source used to create a program, there is a type of statement
called a directive. Directive statements can be found in the QPRCRTPG API
and are used to do the following:</p>
<ul><li>Control the formatting of the output listing, such as the title, page
ejection, and so on.</li>
<li>Define entry points within the program for external and internal calls.</li>
<li>Define breakpoints within the program to associate a breakpoint name to
a particular MI instruction.</li>
<li>Specify the end of the program source.</li>
</ul>
<p>The program end (PEND) directive must be the last statement in the source,
and it functions as a return external (RTX) MI instruction if logically processed
as part of the instruction stream.</p>
<p>Noncomment source statements (declares, instructions, and directives) are
always ended by a semicolon (<samp class="codeph">;</samp>). Comments always begin with
a slash and asterisk (<samp class="codeph">/*</samp>) and end with an asterisk and slash
(<samp class="codeph">*/</samp>).</p>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="MIpgmg.htm" title="Provides information about creating machine interface (MI) programs.">Machine interface programming</a></div>
</div>
<div class="relref"><strong>Related reference</strong><br />
<div><a href="../apis/qprcrtpg.htm">Create Program (QPRCRTPG) API</a></div>
<div><a href="../rzatk/mitoc.htm">iSeries Machine Interface instructions</a></div>
</div>
</div>
</body>
</html>