Переглянути джерело

* let the avrsim throw an exception if a program tries to execute code at address 0

git-svn-id: trunk@36311 -
florian 8 роки тому
батько
коміт
c79342030e
1 змінених файлів з 2 додано та 0 видалено
  1. 2 0
      rtl/embedded/avr/avrsim.pp

+ 2 - 0
rtl/embedded/avr/avrsim.pp

@@ -12,6 +12,7 @@ unit avrsim;
       OUTPUTREG   : byte absolute $20;
       OUTPUTREG   : byte absolute $20;
       EXITCODEREG : byte absolute $21;
       EXITCODEREG : byte absolute $21;
       HALTREQUEST : byte absolute $22;
       HALTREQUEST : byte absolute $22;
+      EXCEPTIONJMPZERO : boolean absolute 52;
 
 
     {$define DOCALL:=call}
     {$define DOCALL:=call}
     {$define DOJMP:=jmp}
     {$define DOJMP:=jmp}
@@ -72,6 +73,7 @@ unit avrsim;
 
 
 
 
 begin
 begin
+  EXCEPTIONJMPZERO:=true;
   OpenIO(Input, @WriteChar, @ReadChar, fmInput, nil);
   OpenIO(Input, @WriteChar, @ReadChar, fmInput, nil);
   OpenIO(Output, @WriteChar, @ReadChar, fmOutput, nil);
   OpenIO(Output, @WriteChar, @ReadChar, fmOutput, nil);
   OpenIO(ErrOutput, @WriteChar, @ReadChar, fmOutput, nil);
   OpenIO(ErrOutput, @WriteChar, @ReadChar, fmOutput, nil);