Show pageBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== GIN Macros ====== A macro definition consists of a series of source records enclosed between the directives #MACRO and #NORMAL. It may contain anything except the directives #GO, #MACRO, #USE and #READ. Each macro has a name, consisting of a letter followed by 0 to 7 alphanumeric characters. A macro name must be unique, and its first four characters must be different from the first four characters of any instruction mnemonic. At any point in a macro definition a formal parameter may be included. A formal parameter consists of the character % followed by a letter. (It is not possible to use % for any other purpose within a macro definition). When the macro is called, %A will be replaced by the first actual parameter in the call line, %B by the second, and so on. The absence of restrictions on what may appear on a line allows directives, macro calls, labels, or even erroneous lines to be stored. Storing erroneous lines can be useful for parameter validation. Suppose for example that %B is expected to be an expression whose value does not exceed that of identifier **AMAX**: then the following coding would cause the parameter to be checked: <code>#SKI %B>AMAX&AMAX ! PARAMETER OUT OF RANGE: %B #SKI %B>AMAX&AMAX<1&1 ( body of macro )</code> [[index-macroA|A]] [[index-macroB|B]] [[index-macroC|C]] [[index-macroD|D]] [[index-macroE|E]] [[index-macroF|F]] [[index-macroG|G]] [[index-macroH|H]] [[index-macroI|I]] [[index-macroJ|J]] [[index-macroK|K]] [[index-macroL|L]] [[index-macroM|M]] [[index-macroN|N]] [[index-macroO|O]] [[index-macroP|P]] [[index-macroQ|Q]] [[index-macroR|R]] [[index-macroS|S]] [[index-macroT|T]] [[index-macroU|U]] [[index-macroV|V]] [[index-macroW|W]] [[index-macroX|X]] [[index-macroY|Y]] [[index-macroZ|Z]] Last modified: 17/01/2024 11:55by 127.0.0.1 Log In