IASM: Bitmaske prüfen?
Verfasst: 13.05.2011 17:55
Hallo.
Ich bräuchte ein schnelles Mittel, um zu überprüfen, ob in einer Variable eine bestimmte Bitmaske gesetzt ist. Laut i8086.de bietet sich hierfür die TEST-Instruktion an, indem ich in der Prüfmaske die zu überprüfenden Bits auf 1 setze, alle anderen auf 0. Laut dieser Beschreibung müsste im folgenden Programm 3x True ausgegeben werden.
Verstehe ich da etwas falsch?
Gruß, Mok.
Ich bräuchte ein schnelles Mittel, um zu überprüfen, ob in einer Variable eine bestimmte Bitmaske gesetzt ist. Laut i8086.de bietet sich hierfür die TEST-Instruktion an, indem ich in der Prüfmaske die zu überprüfenden Bits auf 1 setze, alle anderen auf 0. Laut dieser Beschreibung müsste im folgenden Programm 3x True ausgegeben werden.
Code: Alles auswählen
Define.l MyLong = %10010111101
!MOV eax, [v_MyLong]
!TEST eax, 00000000001b ; Bit 0 gesetzt?
!JZ @f
Debug "True 1"
!@@:
!TEST eax, 10000100000b ; Bit 10 oder Bit 5 gesetzt?
!JZ @f
Debug "True 2"
!@@:
!TEST eax, 00100000010b ; Bit 1 oder Bit 8 gesetzt?
!JNZ @f
Debug "True 3"
!@@:
Gruß, Mok.