Ich habe es gerade probiert, die Überlaufprüfung funktioniert.
Code: Alles auswählen
procedure Calc(b0, b1: Byte);
var
b2: Byte;
begin
b2 := b1 + b0;
if avr_save and %00000001 > 0 then begin
// if SREG and %00000001 > 0 then begin
UARTSendString('Überlauf');
end else begin
UARTSendString('Kein Überlauf');
end;
UARTSendString(#13#10);
end;
begin
UARTInit;
UARTSendString(#13#10);
Calc(1, 1);
Calc(128, 128);
Calc(255, 255);
Calc(127, 128);
Calc(1, 1);
Ich habe auch direkt SREG probiert, auch damit geht es.
So nebenbei, was macht die Funktion avr_save für einen Sinn ?