WAIT: Difference between revisions
Jump to navigation
Jump to search
Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link
(Created page with "The {{KW|WAIT}} statement waits until the value read from an I/O port has certain bits set. {{PageSyntax}} :{{KW|WAIT}} {{Parameter|port%}}, {{Parameter|andMask%}}[, {{Parameter|xorMask%}}] {{PageDescription}} * The {{KW|WAIT}} statement reads a value from {{Parameter|port%}} using {{KW|INP}}. * If {{Parameter|xorMask%}} is specified, the value is {{KW|XOR}}'d with {{Parameter|xorMask%}}. It has the effect of "toggle these bits". * The value is then {{KW|AND}}'d with...") |
No edit summary |
||
Line 1: | Line 1: | ||
The | The [[WAIT]] statement waits until the value read from an I/O port has certain bits set. | ||
{{PageSyntax}} | {{PageSyntax}} | ||
: | :[[WAIT]] {{Parameter|port%}}, {{Parameter|andMask%}}[, {{Parameter|xorMask%}}] | ||
{{PageDescription}} | {{PageDescription}} | ||
* The | * The [[WAIT]] statement reads a value from {{Parameter|port%}} using [[INP]]. | ||
* If {{Parameter|xorMask%}} is specified, the value is | * If {{Parameter|xorMask%}} is specified, the value is [[XOR]]'d with {{Parameter|xorMask%}}. It has the effect of "toggle these bits". | ||
* The value is then | * The value is then [[AND]]'d with {{Parameter|andMask%}}. It has the effect of "check if these bits are set". | ||
* If the final value is non-zero, | * If the final value is non-zero, [[WAIT]] returns. Otherwise, another value is read from {{Parameter|port%}} and checked again. | ||
* The | * The [[WAIT]] statement returns immediately if {{Parameter|port%}} is not supported. | ||
Line 25: | Line 25: | ||
{{PageSeeAlso}} | {{PageSeeAlso}} | ||
* | * [[INP]], [[OUT]] | ||
* [[Scancodes]] | * [[Scancodes]] | ||
{{PageNavigation}} | {{PageNavigation}} |
Latest revision as of 00:59, 25 January 2023
The WAIT statement waits until the value read from an I/O port has certain bits set.
Syntax
- WAIT port%, andMask%[, xorMask%]
Description
- The WAIT statement reads a value from port% using INP.
- If xorMask% is specified, the value is XOR'd with xorMask%. It has the effect of "toggle these bits".
- The value is then AND'd with andMask%. It has the effect of "check if these bits are set".
- If the final value is non-zero, WAIT returns. Otherwise, another value is read from port% and checked again.
- The WAIT statement returns immediately if port% is not supported.
Examples
- Waiting for vertical retrace
' Either statement can be used to try to reduce screen flickering. ' If both statements are used, try changing the order. WAIT &H3DA, 8 ' finishes whenever the screen isn't being written to WAIT &H3DA, 8, 8 ' finishes whenever the screen is being written to |
See also