Hoppalalilala...
OK, habs eben erneut repariert (im obigen Post)...
Nun check ich das auch (...auch das, was remi_meier oben meinte): A, AE, B, BE richten sich nach CF (und ggf. ZF für Gleichheit) und sind damit unabhängig vom Vorzeichen, während sich G, GE, L, LE nach (SF xor OF) richten bzw. ggf. noch ZF, und damit das Vorzeichen beachten. Denken hülft.
Bevor ich irgendwann mal wieder ASM-code poste, werde ich mich damit aber wohl erstmal genauer beschäftigen müssen...
grösser / kleiner bei "unsigned" long
-
- Beiträge: 100
- Registriert: 06.11.2004 11:23
- Computerausstattung: PB 5.30 (x64) Win7
- Wohnort: Österreich
Procedure.l UINT_Greater(a.l, b.l)
!XOR eax,eax
!MOV ebx,[esp]
!CMP ebx,[esp+4]
!SETA al
ProcedureReturn
EndProcedure
Debug UINT_Greater(0,0) ; = 1
Debug UINT_Greater(1,0) ; = 1
Debug UINT_Greater(0,0) ; = 1
Debug UINT_Greater(1,1) ; = 1
kann mir einer erklären warum das unter PB4 nicht mehr passt ?
bzw eine passende für PB4 machen ... binder totale asm noob ...
Andi256
!XOR eax,eax
!MOV ebx,[esp]
!CMP ebx,[esp+4]
!SETA al
ProcedureReturn
EndProcedure
Debug UINT_Greater(0,0) ; = 1
Debug UINT_Greater(1,0) ; = 1
Debug UINT_Greater(0,0) ; = 1
Debug UINT_Greater(1,1) ; = 1
kann mir einer erklären warum das unter PB4 nicht mehr passt ?
bzw eine passende für PB4 machen ... binder totale asm noob ...
Andi256
- remi_meier
- Beiträge: 1078
- Registriert: 29.08.2004 20:11
- Wohnort: Schweiz
Code: Alles auswählen
Procedure.l UINT_Greater(a.l, b.l)
!XOR Eax,Eax
!MOV Ebx,[p.v_a]
!CMP Ebx,[p.v_b]
!SETA al
ProcedureReturn
EndProcedure