CPU Register ermitteln
Verfasst: 10.01.2009 12:52
Hier ein kleiner Source um den Inhalt der CPU Register zu ermitteln. AUs mir unbekannten Gründen kann ich leider das EIP - Register nicht auslesen, vlt. weis jemand der sich in ASM besser auskennt als ich dir Ursache.
Hier mal der Code, wers braucht:
Hier mal der Code, wers braucht:
Code: Alles auswählen
Structure _CPU_Register
EAX.l
EBX.l
ECX.l
EDX.l
ESP.l
EBP.l
EDI.l
EIP.l
CS.l
DS.l
ES.l
FS.l
GS.l
SS.l
EndStructure
; CPU Register ermitteln
Procedure Show_CPURegister(*Var._CPU_Register)
Define.l EAX, EBX, ECX, EDX
Define.l ESP, EBP, EDI, EIP
Define.w CS, DS, ES, FS, GS, SS
!MOV dword[p.v_EAX] ,EAX
!MOV dword[p.v_EBX] ,EBX
!MOV dword[p.v_ECX] ,ECX
!MOV dword[p.v_EDX] ,EDX
!MOV dword[p.v_ESP] ,ESP
!MOV dword[p.v_EBP] ,EBP
!MOV dword[p.v_EDI] ,EDI
; !MOV dword[p.v_EIP] ,EIP // Compiler Fehler, kA Warum
!MOV word[p.v_CS] ,CS
!MOV word[p.v_DS] ,DS
!MOV word[p.v_ES] ,ES
!MOV word[p.v_FS] ,FS
!MOV word[p.v_GS] ,GS
!MOV word[p.v_SS] ,SS
With *Var
\EAX = EAX
\EBX = EBX
\ECX = ECX
\EDX = EDX
\ESP = ESP
\EBP = EBP
\EDI = EDI
\EIP = EIP
\CS = CS
\DS = DS
\ES = ES
\FS = FS
\GS = GS
\SS = SS
EndWith
EndProcedure
Define Register._CPU_Register
; Register ausgeben
Show_CPURegister(@Register)
With Register
Debug \EAX
Debug \EBX
Debug \ECX
Debug \EDX
Debug \ESP
Debug \EBP
Debug \EDI
Debug \EIP
Debug \CS
Debug \DS
Debug \ES
Debug \FS
Debug \GS
Debug \SS
EndWith