Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!decvax!decwrl!glacier!oliveb!hplabs!tektronix!uw-beaver!uw-june!entropy!dataio!bright From: bright@dataioDataio.UUCP (Walter Bright) Newsgroups: net.micro.pc Subject: Re: Re: Identifying an iAPX series processo Message-ID: <937@dataioDataio.UUCP> Date: Mon, 31-Mar-86 13:23:19 EST Article-I.D.: dataioDa.937 Posted: Mon Mar 31 13:23:19 1986 Date-Received: Wed, 2-Apr-86 20:15:42 EST References: <7901@watrose.UUCP> <53500027@trsvax> <685@mtung.UUCP> Reply-To: bright@dataio.UUCP (Walter Bright Organization: Data I/O Corp., Redmond WA Lines: 19 In article <685@mtung.UUCP> ijk@mtung.UUCP (Ihor Kinal) writes: >P.S. One discrepancy: the article claims that in a 286, it's >no longer legal to say MOV CS, AX; nor can one say POP CS. >Using DEBUG, I tried both; the MOV CS,AX seemed ok, the POP CS >totally hung the machine. If both were true, then how could a program >reset the CS register???? Easy: Use the JMP FAR instruction. Use the CALL FAR instruction. Use the RET FAR instruction. (Note that there is no mnemonic for this instruction in MASM 4.0. You have to muck with the PROC pseudo op or write a macro to do it. Ug.) Use the IRET instruction. Use the INT instruction. If you use a MOV CS,AX, you deserve what you get. You have to be very clever to get the IP right to execute the next instruction. A lot cleverer than to set up a JMP FAR instruction.