Path: utzoo!attcan!uunet!cs.utexas.edu!ico!vail!rcd From: rcd@ico.ISC.COM (Dick Dunn) Newsgroups: comp.arch Subject: Re: 8086 design goals (and Pascal) Summary: Pascal WAS an intended target Message-ID: <15766@vail.ICO.ISC.COM> Date: 16 May 89 17:15:58 GMT References: <912@aber-cs.UUCP> <3312@bd.sei.cmu.edu> <362@verdix.verdix.com> Organization: Interactive Systems Corp, Boulder, CO Lines: 35 In article <362@verdix.verdix.com>, sbq@verdix.com (Sam Quiring) writes: ... > >In article <912@aber-cs.UUCP> pcg@cs.aber.ac.uk (Piercarlo Grandi) writes: > >>Well, the problem with the Intel architecture is that it was designed for > >>Pascal, whose pointers can only point to heap allocated objects ... ... > The Intel 8086 was definitely *not* designed with Pascal in mind (I did get > a good belly laugh out of that statement)... Done laughing? OK, good, it's our turn to laugh now. The 8086 architects most definitely had Pascal in mind when they designed the chip. The segment registers reflect this quite directly. They had wanted more segment registers to avoid thrashing, but concerns about chip size forced them to use what they considered the bare minimum of four. These were quite closely tied to the notion of a Pascal-ish model of memory: code, data (global variables), stack (local variables and parameters), and the extra-segment register, which was nominally for the heap but also the "out" for cases (such as var parameters) where you didn't know the segment. BP also reflects a (perceived) need of a Pascal implementation, and the addressing modes correspond to what were expected to be common access forms in Pascal. In fact, ES did turn out to be a bottleneck with compilers that didn't pay careful attention to it. Probably the conceptual failure here was in underestimating the frequency of use of var parameters and overestimating the role of the heap. One of the architects of the 8086 had done a lot of work with Pascal before he went to intel. Shortly after the 8086 came out, two of the architects left intel and started a company to do--guess what? Pascal compilers and associated development tools for the 8086! Trust me; they were thinking Pascal during the (all too brief) design period. -- Dick Dunn UUCP: {ncar,nbires}!ico!rcd (303)449-2870 ...Relax...don't worry...have a homebrew.