Thema: div-Fehler

Einzelnen Beitrag anzeigen

Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#1

div-Fehler

  Alt 8. Sep 2006, 18:46
Morgen.

Ich habe folgenden ASM-Code:

Delphi-Quellcode:
function DivMod(Dividend, Divisor: Cardinal): TDivModResult;
asm
  div edx
  mov [ecx], eax
  mov [ecx+$04], edx
end;
Das gibt einen Integer-Overflow. Und nicht nur das. Immer wenn ich div ausführe und in edx was anderes drinsteht als 0 gibt es das.

Außerdem kann ich in dem Code kein anderes Register verwenden - in eax steht der erste Parameter, ebx darf ich seltsamerweise nciht überschreiben weil sonst alles abschmiert, in ecx steht die Adresse des results und edx geht wegen o.g. Gründen nicht.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat