mov ax, KeyBoardBuffer.Flags
test ax, KEY_MAKE
.if ZERO?;(ax & KEY_MAKE);CARY?
what constructions possible else?
.if
.elseif
.else ; only 1, and must be 2nd last
.endif
I mean like this ZERO?;(ax & KEY_MAKE);CARY?. I don't know about them only
.if TRUE
.if !eax
.if eax==ebx.....
invoke GetKeyState, VK_SHIFT
.if ax & 7 ; test ax, 0007, je @F
nop
.elseif Carry?
nop
.elseif Zero?
nop
.elseif !Zero?
nop
.elseif Sign?
nop
.elseif !(Sign? || Zero?) ; combis are better done "by hand"
nop
.endif
ZERO?
CARRY?
OVERFLOW?
SIGN?
PARITY?
The Masm developers forgot the Above? and Greater? flags, unfortunately...
yes, those would have been nice
but, you can accomplish those using the "normal" conditional expressions
Operator Meaning
== Equal
!= Not equal
> Greater than
>= Greater than or equal to
< Less than
<= Less than or equal to
& Bit test (format: expression & bitnumber)
! Logical NOT
&& Logical AND
|| Logical OR
CARRY? Carry bit set
OVERFLOW? Overflow bit set
PARITY? Parity bit set
SIGN? Sign bit set
ZERO? Zero bit set