Difference between revisions of "WAIT"

From QB64 Wiki
Jump to navigation Jump to search
imported>Clippy
imported>Clippy
m
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
The '''WAIT''' statement either waits for the monitor's vertical retrace to begin or end.
+
The {{KW|WAIT}} statement waits until the value read from an I/O port has certain bits set.
  
  
''Syntax:''
+
{{PageSyntax}}
 +
:{{KW|WAIT}} {{Parameter|port%}}, {{Parameter|andMask%}}[, {{Parameter|xorMask%}}]
  
:WAIT &H3DA, 8 ' finishes whenever the screen isn't being written to and
+
 
:WAIT &H3DA, 8, 8 ' finishes whenever the screen is 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



Navigation:
Keyword Reference - Alphabetical
Keyword Reference - By Usage
Main Wiki Page