@@ -16,7 +16,6 @@ procedure asm65(a: String = ''; comment: String = ''); // OptimizeASM
1616
1717procedure OptimizeProgram (MainProcedureIndex: TIdentIndex);
1818
19-
2019procedure WriteOut (a: String); // OptimizeTemporaryBuf
2120
2221procedure FlushTempBuf ;
@@ -112,13 +111,12 @@ procedure OptimizeTemporaryBuf;
112111 function fail (i: Integer): Boolean;
113112 begin
114113
115- if (pos(' #asm:' , TemporaryBuf[i]) = 1 ) or ldy(i) or (pos( ' mwy ' , TemporaryBuf[i]) > 0 ) or
116- (pos( ' mvy ' , TemporaryBuf[i]) > 0 ) or jsr (i) or (pos(# 9 ' .if ' , TemporaryBuf[i]) > 0 ) or
117- ( pos(#9 ' .LOCAL ' , TemporaryBuf[i]) > 0 ) or (pos(#9 ' @print ' , TemporaryBuf[i]) > 0 ) or
118- iny(i) or dey(i) or tya(i) or tay(i ) then Result := True
114+ if (pos(' #asm:' , TemporaryBuf[i]) = 1 ) or ldy(i) or jsr(i ) or
115+ iny(i) or dey(i ) or tay (i) or tya(i) or mwy(i ) or
116+ mwy(i) or ( pos(#9 ' .if ' , TemporaryBuf[i]) > 0 ) or (pos(#9 ' .LOCAL ' , TemporaryBuf[i]) > 0 ) or
117+ (pos(# 9 ' @print ' , TemporaryBuf[i]) > 0 ) then Result := True
119118 else
120119 Result := False;
121-
122120 end ;
123121
124122
@@ -222,9 +220,9 @@ procedure OptimizeTemporaryBuf;
222220begin
223221
224222{
225- if (pos('jmp a_0004 ', TemporaryBuf[3 ]) > 0) then begin
223+ if (pos('#for:dec ', TemporaryBuf[10 ]) > 0) then begin
226224
227- for p:=0 to 11 do writeln(TemporaryBuf[p]);
225+ for p:=0 to 30 do writeln(TemporaryBuf[p]);
228226 writeln('-------');
229227
230228end;
@@ -246,6 +244,7 @@ procedure OptimizeTemporaryBuf;
246244 opt_TEMP_ZTMP;
247245 opt_TEMP_UNROLL;
248246
247+
249248 // -----------------------------------------------------------------------------
250249
251250
@@ -1406,6 +1405,7 @@ procedure OptimizeASM;
14061405 Result := False;
14071406 Break;
14081407 end ;
1408+
14091409 if opt_STACK_INX(i) = False then
14101410 begin
14111411 Result := False;
@@ -1642,7 +1642,7 @@ procedure OptimizeASM;
16421642 begin
16431643
16441644{
1645- if (pos(#9'sub #$00 ', listing[i]) > 0) then begin
1645+ if (pos(#9'and #$', listing[i]) > 0) then begin
16461646
16471647 for p:=0 to l-1 do writeln(listing[p]);
16481648 writeln('-------');
0 commit comments