
Klar, weil er damit die Zahl hinter/unter dem Bruchstrich meint.

MFG PMV
Code: Alles auswählen
Macro Divide(erg,wert,LaufIndex)
! MOV ebx,dword [v_#wert]
! SAR ebx,3
! MOV dword [v_#erg],ebx
! CMP ebx,0
! JNL l___div_end_#LaufIndex
! SAL ebx,3
! CMP dword[v_#wert],ebx
! JE l___div_end_#LaufIndex
! INC dword[v_#erg]
__div_end_#LaufIndex:
EndMacro
Code: Alles auswählen
a = -1000
Debug Hex(a)
a ! $FFFFFFFF
Debug a
a +1
Debug a
a >> 3
Debug a
a -1
Debug a
a ! $FFFFFFFF
Debug a
Code: Alles auswählen
! MOV ebx,dword [v_a]
! SAR ebx,3
! MOV dword [v_c],ebx
;! CMP ebx,0
;! JNL l___div_end
!jns l___div_end ;nach SAR von negativer Zahl ist das Signum-Flag gesetzt, sonst nicht
;! SAL ebx,3
;! CMP dword[v_a],ebx
;! JE l___div_end
!test dword [v_a],7 ;dies ist Wert für Shift 3, für allgemeine Anwendung wohl nicht so gut
!jz l___div_end
! INC dword[v_c]
__div_end: