User Tools

Site Tools


operational_statements

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
operational_statements [2020/09/18 13:20]
adminz
operational_statements [2020/11/16 22:03]
adminz [Execute]
Line 30: Line 30:
 The ''​Execute''​ statement allows one program to call another as a //​subroutine//​. ​ When this happens, the state of Registers ''​0''​ through ''​7''​ are saved and later restored when the called program exits. ​ Any changes made to those registers by the called program are lost when the called program returns. ​ Those registers are also set to zero before the called program starts execution. ​ These registers are called **local registers**,​ because their values are local to the program being executed. The ''​Execute''​ statement allows one program to call another as a //​subroutine//​. ​ When this happens, the state of Registers ''​0''​ through ''​7''​ are saved and later restored when the called program exits. ​ Any changes made to those registers by the called program are lost when the called program returns. ​ Those registers are also set to zero before the called program starts execution. ​ These registers are called **local registers**,​ because their values are local to the program being executed.
  
-Registers ''​8''​ through ''​F''​ are not saved and restored - they are passed to the called program intact and any changes made to them by the called program remains intact when the called program returns. ​ This allows those registers ​registers to be used to pass information to and from other called programs. ​ These registers are called **global registers**,​ because their values are global to all programs being executed.+Registers ''​8''​ through ''​F''​ are not saved and restored - they are passed to the called program intact and any changes made to them by the called program remains intact when the called program returns. ​ This allows those registers to be used to pass information to and from other called programs. ​ These registers are called **global registers**,​ because their values are global to all programs being executed.
  
 The syntax of the ''​Execute''​ statement is: ''​Execute <​name>;''​ or ''​Execute <​number>;''​ The syntax of the ''​Execute''​ statement is: ''​Execute <​name>;''​ or ''​Execute <​number>;''​
Line 80: Line 80:
 | ''​+''​ | When the first character in the string, it causes the remaining string to be appended to any data currently being displayed | | ''​+''​ | When the first character in the string, it causes the remaining string to be appended to any data currently being displayed |
    
-To display a special character normally, double it.  The number of printable characters is limited to 32, which is the number of characters the 9010A'​s display can show without scrolling.+To display a special character normally, double it.  The number of printable characters is limited to 32, which is the number of characters the 9010A'​s display can show without scrolling.  A trailing space in the display string is handled correctly by 10LC - you do not have to manually place an underscore for a trailing space to work correctly.
  
 This statement supports single character Register identifiers (''​0-9''​ and ''​A-F''​),​ proper Register names (e.g. ''​REG4''​),​ and register Aliases. ​ Support for register aliases is preliminary and although it works in my tests, there may be the occasional snag. This statement supports single character Register identifiers (''​0-9''​ and ''​A-F''​),​ proper Register names (e.g. ''​REG4''​),​ and register Aliases. ​ Support for register aliases is preliminary and although it works in my tests, there may be the occasional snag.
operational_statements.txt ยท Last modified: 2020/11/16 22:05 by adminz