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