Article View: comp.arch
Article #22057Re: PUSH on i8088/i80x86
From: Craig Jackson drilex1
Date: Thu, 11 Jan 1990 15:05
Date: Thu, 11 Jan 1990 15:05
60 lines
2678 bytes
2678 bytes
In article <5550@bd.sei.cmu.edu> firth@sei.cmu.edu (Robert Firth) writes:
>In article <5524@bd.sei.cmu.edu>, firth@sei.cmu.edu I wrote:
>
>> Well, I just checked my manuals for the 8086, 8088, 80286 and 80386.
>> As best I can determine, all of them agree on this
> .....
>> . There is no difference among the 80xxx processors in the semantics
>> of the PUSH instruction
>
>In article <10190@microsoft.UUCP> gordonl@microsoft.UUCP (Gordon LETWIN) writes:
(Someone well-known to be familiar with the 80x8x architecture.)
>
>>This is totally wrong. It's a fact that the handling of "push sp" differs
>>between some of these processors. I forget which does what and am too
>>lazy to look it up, but this is *fer sure* listed in a difference table
>>that Intel has somewhere. And I've seen it used as part of a "identify
>>processor" subroutine.
>
>It may well, indeed, be totally wrong. However, given that I went to
>the trouble actually to extract the documents, reread them, and post to
>the net their citations, including title, date, and order number, it
>seems to me that it would be a matter of simple courtesy, both to me
>and to the net, if you would take the same trouble before issuing a
>public contradiction. Our opinions, even our FER SURE opinions, are
>pretty useless otherwise.
I have here in my hand a document, entitled "iAPX 286 Programmer's Reference
Manual Including the iAPX 286 Numeric Supplement", dated 1984, published by
the intel Corporation.
It contains an chapter, Appendix D, entitled "iAPX 86/88 Software
Compatibility Considerations".
Item number 8 in that chapter is labelled "Do not Rely on the Value Written
by PUSH SP."
The first sentence reads: "The iAPX 286 will push a different value
on the stack for PUSH SP than the iAPX 86/88."
It goes on to give some sample code
which gives the same answer in both
architechtures. It is reproduced
here in the interest of satisfying
inews' line counter.
PUSH BP
MOV BP,SP
XCHG BP,[BP]
I hope we can all put this issue
to bed now.
I also hope that inews will now accept
this article.
--
Craig Jackson
dricejb@drilex.dri.mgh.com
{bbn,axiom,redsox,atexnet,ka3ovk}!drilex!{dricej,dricejb}
Technical Details
Message-ID:
<7341@drilex.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!samsung!think!bbn!drilex!dricejbReferences:
<182DAVISTD@MSU> <5524@bd.sei.cmu.edu> <10190@microsoft.UUCP> <5550@bd.sei.cmu.edu>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!samsung!think!bbn!drilex!dricejb From: dricejb@drilex.UUCP (Craig Jackson drilex1) Newsgroups: comp.arch Subject: Re: PUSH on i8088/i80x86 Message-ID: <7341@drilex.UUCP> Date: 11 Jan 90 15:05:42 GMT References: <182DAVISTD@MSU> <5524@bd.sei.cmu.edu> <10190@microsoft.UUCP> <5550@bd.sei.cmu.edu> Organization: DRI/McGraw-Hill, Lexington, MA Lines: 60