Bill Fairchild wrote:

If, for example, you knew precisely how the LA (Load Address) instruction worked but yet the Low Level Assembler of 1966 had not yet been enhanced to support LA, you could always write code like this:
*        LA      R3,WHATEVER
        DC     0H'0',X'4130',S(WHATEVER)

and your code would work. This is somewhat difficult, and perhaps not interesting to most of us. As you say, this might not be practical. But it is feasible.

We simulate new instructions all the time using library macros. This allows the program to use the instruction as if the HLASM support was there. Once the instruction is implemented in the assembler, the library macro is no longer needed.

Here is one from the old days when 370/XA first came out: Amazingly, it's still in our macro library. Nobody ever bothered deleting it!

|         MACRO ,
|&LABEL   BASSM &R1,&R2
|&LABEL   BASR  &R1,&R2
|         ORG   *-2
|         DC    X'0C'
|         ORG   *+1
|         MEXIT ,
|         MEND  ,

--
.-----------------------------------------------------------------.
| Edward E. Jaffe                |                                |
| Mgr, Research & Development    | [EMAIL PROTECTED]    |
| Phoenix Software International | Tel: (310) 338-0400 x318       |
| 5200 W Century Blvd, Suite 800 | Fax: (310) 338-0801            |
| Los Angeles, CA 90045          | http://www.phoenixsoftware.com |
'-----------------------------------------------------------------'

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to