Article View: de.comp.sys.ibm
Article #827REPEAT: i486: CMPXCHG-Befehl nicht vorhanden?
From: Frank Mehnert
Date: Tue, 12 Jan 1993 14:03
Date: Tue, 12 Jan 1993 14:03
52 lines
2744 bytes
2744 bytes
Article 286 of de.comp.sys.ibm: Newsgroups: de.comp.sys.ibm Path: irz401!RNEWS.urz.tu-dresden.de!Sirius.dfn.de!darwin.sura.net!bogus.sura.net!howland.reston.ans.net!sol.ctr.columbia.edu!ira.uka.de!Germany.EU.net!horga!flyer!robkaos!robsch From: robsch@robkaos.GUN.de (Robert Schien) Subject: Re: CMPXCHG Befehl bei i486 nicht vorhanden? Message-ID: <1993Jan9.165953.3394@robkaos.GUN.de> Organization: Private Site, Essen, Germany X-Newsreader: TIN [version 1.1 PL7] References: <1ijrarINNpf8@irz401.inf.tu-dresden.de> Date: Sat, 9 Jan 93 17:59:53 MET Lines: 19 Robert Schien wrotes: :Frank Mehnert (fm3@irz214.inf.tu-dresden.de) wrote: :: :: Hi, :: :: hier nochmal die Frage nach dem CMPXCHG-Befehl auf 486'ern. Laut INTEL :: muesste er vorhanden sein, bei mir bringt dessen Aufruf nur einen :: INT 06h (Illegal code) zustande. Ich moechte nicht irgendwann einmal die :: Überraschung erleben, dass ein Softwareprodukt bei mir nicht laeuft, :: bloss weil es diesen Befehl benutzt. :: :: Wer kann mir weiterhelfen? :: :Wie hast Du denn den CMPXCHG-Befehl erzeugt? Mit einem Assembler? Koennte der :nicht fehlerhaft sein? Insbesondere, wenn er aus dem Hause Kleinweich stammt:) :Kodiere den Befehl doch einfach zu Fuss! Mit db .... :Oder sieh Dir das ganze mit einem Dissassembler an! :-- :Robert Schien robsch@robkaos.GUN.de :"To err is human, to really foul things up requires a computer" Danke für die Bemerkungen, aber: Für das Assemblieren und Ausführen des CMPXCHG-Befehls benutzte ich den TURBO-DEBUGGER. Dieser erzeugte den Code, so wie er aussehen soll. Das ist nicht das Problem. Der Haken ist der, daß TURBO-DEBUGGER beim Durchsteppen und Durchtracen einfach die Hufe hochreißt. Wie ich durch einen eigenen Mini-Debugger erfuhr, wird mit CMPXCHG-Aufruf der INT 06h ausgelöst, obwohl der Assembler-Code stimmt (Disassemble). Mein Debugger biegt den INT 06h um und gibt eine entsprechende Fehlermeldung aus. Der TURBO-DEBUGGER scheint diesen Interrupt nicht abzufangen. Der i486 springt anscheinend zum auslösenden Error-Code zurück, wo sich nichts ändert. So kommt dann die Endlosschleife zustande. Nochmal der Hilferuf an einen Sachverständigen! Danke!
Technical Details
Message-ID:
<1iuj3cINN92d@irz401.inf.tu-dresden.de>Path:
arc1-ca.pugleaf.net!sparky!uunet!math.fu-berlin.de!irz401!irz204.inf.tu-dresden.de!fm3Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!math.fu-berlin.de!irz401!irz204.inf.tu-dresden.de!fm3 From: fm3@irz204.inf.tu-dresden.de (Frank Mehnert) Newsgroups: de.comp.sys.ibm Subject: REPEAT: i486: CMPXCHG-Befehl nicht vorhanden? Date: 12 Jan 1993 14:03:24 GMT Organization: Dept. of Computer Science, Technical University of Dresden, Germany Lines: 54 Distribution: world Message-ID: <1iuj3cINN92d@irz401.inf.tu-dresden.de> Reply-To: fm3@irz204.inf.tu-dresden.de (Frank Mehnert) NNTP-Posting-Host: irz204.inf.tu-dresden.de