Difference between revisions of "WAIT"
Jump to navigation
Jump to search
Navigation:
imported>Clippy |
imported>Clippy m |
||
(8 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | The | + | 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%}}] | ||
− | :WAIT &H3DA, 8 ' finishes whenever the screen isn't being written to | + | |
− | + | {{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 {{Parameter|andMask%}}. It has the effect of "check if these bits are set". | ||
+ | * If the final value is non-zero, {{KW|WAIT}} returns. Otherwise, another value is read from {{Parameter|port%}} and checked again. | ||
+ | * The {{KW|WAIT}} statement returns immediately if {{Parameter|port%}} is not supported. | ||
+ | |||
+ | |||
+ | {{PageExamples}} | ||
+ | :Waiting for vertical retrace | ||
+ | {{CodeStart}}' 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 | ||
+ | {{CodeEnd}} | ||
+ | |||
+ | |||
+ | {{PageSeeAlso}} | ||
+ | * {{KW|INP}}, {{KW|OUT}} | ||
+ | * [[Scancodes]] | ||
+ | |||
+ | |||
+ | {{PageNavigation}} |
Latest revision as of 10:14, 15 October 2010
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