Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!rutgers!lll-lcc!ptsfa!ihnp4!chinet!steinmetz!davidsen From: davidsen@steinmetz.UUCP Newsgroups: comp.sys.ibm.pc Subject: Re: IBM new 'standard' Message-ID: <1353@steinmetz.steinmetz.UUCP> Date: Mon, 30-Mar-87 14:07:19 EST Article-I.D.: steinmet.1353 Posted: Mon Mar 30 14:07:19 1987 Date-Received: Wed, 1-Apr-87 06:45:56 EST References: <701@imsvax.UUCP> <855@bucsb.bu.edu.UUCP> <882@mtunb.UUCP> Reply-To: davidsen@kbsvax.steinmetz.UUCP (William E. Davidsen Jr) Organization: General Electric CRD, Schenectady, NY Lines: 34 There have been several postings about "well behaved" and "ill behaved" program. I would like to offer a suggestion for classifying these programs, in order to clarify what problems are caused by each. Class 1: "well behaved" - performs all i/o via calls to the BDOS and assumes nothing about memory outside its own program space. Example: Microsoft C. Class 2: "Reasonably well behaved" - performs all its i/o via calls to the BDOS or BIOS. Does not use memory outside its own program space. Class 3: "direct screen writes" - performs all i/o except screen write (or reads) by calls to the BDOS or BIOS. Does not issue any IN or OUT instructions. Does not use any memory except the screen memory and its own program space. Class 4: "ill behaved" - issues any IN or OUT instructions, writes in system memory, reads data from the tables at the start of the BDOS, etc. ---------------------------------------------------------------- Having defined my terms, I believe that class 1, 2, and 3 programs will run on IBM's new hardware, class 4 will not. I have often wonderd why people diddle i/o ports directly. Going directly to the screen memory is obviously a big performance win (as is using int 29h to write to the screen driver), but hopefully no one is changing the screen mode or the serial baudrates, etc, often enough to need the performance of direct i/o. -- bill davidsen sixhub \ ihnp4!seismo!rochester!steinmetz -> crdos1!davidsen chinet / ARPA: davidsen%crdos1.uucp@ge-crd.ARPA (or davidsen@ge-crd.ARPA)