Diplomarbeit - Hochschule für Technik und Wirtschaft Dresden
Diplomarbeit - Hochschule für Technik und Wirtschaft Dresden
Diplomarbeit - Hochschule für Technik und Wirtschaft Dresden
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Diplomarbeit</strong>: Modulares System Anhang<br />
unsigned char Init_VM (tVM_Struct *VM)<br />
{<br />
unsigned char uc;<br />
const rom char *codePtr;<br />
unsigned int ui, ui1, ui2, ui3;<br />
unsigned long uli;<br />
VM->pCodeFile = VM_CODE;<br />
uc=CheckCodeFileVersion(VM->pCodeFile);<br />
if(uc) return(uc);<br />
VM->VM_StackSize = _VM_StackSize;<br />
VM->VM_StackPtr = 0;<br />
VM->VM_Stack = VM_Stack;<br />
VM->Flags = DebugFlag;<br />
}<br />
VM->pProzedure = VM->pCodeFile + 8; // Pointer auf erste Prozedur<br />
codePtr = VM->pProzedure;<br />
VM_ReadLong (VM->pCodeFile + 4,(long*)&uli);<br />
if(uli & 0xFFFF0000L) return(ERROR_READ_PROCHEADER);<br />
VM->ProcCount = (unsigned int)uli;<br />
for(ui=0; ui < VM->ProcCount; ui++) {<br />
if(!ScanProcHeader(codePtr,&ui1,&ui2,&ui3)) codePtr += ui2;<br />
else return(ERROR_READ_PROCHEADER);<br />
}<br />
VM->pConstant = codePtr + ui2; // Start Konstantenarea<br />
VM->pCodeFile = codePtr; // Start Hauptprozedur<br />
VM->ProcCount = 0; // Aktuelle Prozedur<br />
return(OK);<br />
Abbildung A.7 - Initialisierungsteil der Virtuellen Maschine auf dem Controller<br />
26.07.2004 Seite 78 von 85