I get a compiler error in the following code which previously worked. (This is a test showing the error - the full app has been stable for a couple of years now).
Code
program test;
{$NOSHADOW}
{ $WG} {global Warnings off}
Device = mega8, VCC=5;
{ $BOOTRST $00C00} {Reset Jump to $00C00}
Define_Fuses
// Override_Fuses;
NoteBook = A;
COMport = USB;
LockBits0 = [];
FuseBits0 = [];
FuseBits1 = [];
Import SysTick;
From System Import ;
Define
ProcClock = 16000000; {Hertz}
SysTick = 10; {msec}
StackSize = $0032, iData;
FrameSize = $0032, iData;
Implementation
{$IDATA}
{--------------------------------------------------------------}
{ Type Declarations }
type
{--------------------------------------------------------------}
{ Const Declarations }
{--------------------------------------------------------------}
{ Var Declarations }
{$IDATA}
var
Normal, Reverse : string[32];
{--------------------------------------------------------------}
{ functions }
Procedure ReverseIt;
var
i : word;
s, d : pointer;
begin
d := @Reverse[ 1 ];
s := @Normal[ 33 ]; // NOTE -- is PRE-Decrement (hence 33 not 32)
for i := 1 to 32 do
d^++ := s^--;
endfor;
end;
{--------------------------------------------------------------}
{ Main Program }
{$IDATA}
begin
EnableInts;
ReverseIt;
loop
endloop;
end test.
{$NOSHADOW}
{ $WG} {global Warnings off}
Device = mega8, VCC=5;
{ $BOOTRST $00C00} {Reset Jump to $00C00}
Define_Fuses
// Override_Fuses;
NoteBook = A;
COMport = USB;
LockBits0 = [];
FuseBits0 = [];
FuseBits1 = [];
Import SysTick;
From System Import ;
Define
ProcClock = 16000000; {Hertz}
SysTick = 10; {msec}
StackSize = $0032, iData;
FrameSize = $0032, iData;
Implementation
{$IDATA}
{--------------------------------------------------------------}
{ Type Declarations }
type
{--------------------------------------------------------------}
{ Const Declarations }
{--------------------------------------------------------------}
{ Var Declarations }
{$IDATA}
var
Normal, Reverse : string[32];
{--------------------------------------------------------------}
{ functions }
Procedure ReverseIt;
var
i : word;
s, d : pointer;
begin
d := @Reverse[ 1 ];
s := @Normal[ 33 ]; // NOTE -- is PRE-Decrement (hence 33 not 32)
for i := 1 to 32 do
d^++ := s^--;
endfor;
end;
{--------------------------------------------------------------}
{ Main Program }
{$IDATA}
begin
EnableInts;
ReverseIt;
loop
endloop;
end test.