mirror of
https://github.com/QB64Official/qb64.git
synced 2024-09-28 11:17:47 +00:00
31 lines
1.2 KiB
Text
31 lines
1.2 KiB
Text
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 {{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}}
|