🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.sys.ibm
Article #827

REPEAT: i486: CMPXCHG-Befehl nicht vorhanden?

#827
From: Frank Mehnert
Date: Tue, 12 Jan 1993 14:03
52 lines
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!fm3

Show 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