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. {{htmlmetatags>metatag-description:(ICL George 3 and George 4 GIN macro index)}} ====== 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> [[george:table-macroA|A]] [[george:table-macroB|B]] [[george:table-macroC|C]] [[george:table-macroD|D]] [[george:table-macroE|E]] [[george:table-macroF|F]] [[george:table-macroG|G]] [[george:table-macroH|H]] [[george:table-macroI|I]] [[george:table-macroJ|J]] [[george:table-macroK|K]] [[george:table-macroL|L]] [[george:table-macroM|M]] [[george:table-macroN|N]] [[george:table-macroO|O]] [[george:table-macroP|P]] [[george:table-macroQ|Q]] [[george:table-macroR|R]] [[george:table-macroS|S]] [[george:table-macroT|T]] [[george:table-macroU|U]] [[george:table-macroV|V]] [[george:table-macroW|W]] [[george:table-macroX|X]] [[george:table-macroY|Y]] [[george:table-macroZ|Z]] Last modified: 17/01/2024 11:55by 127.0.0.1 Log In