Path: ...!news.iecc.com!.POSTED.news.iecc.com!not-for-mail From: John Levine Newsgroups: comp.arch Subject: Re: Upwards and downwards compatible, Computer architects leaving Intel... Date: Tue, 17 Sep 2024 01:49:34 -0000 (UTC) Organization: Taughannock Networks Message-ID: References: <2024Aug30.161204@mips.complang.tuwien.ac.at> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Date: Tue, 17 Sep 2024 01:49:34 -0000 (UTC) Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="84076"; mail-complaints-to="abuse@iecc.com" In-Reply-To: <2024Aug30.161204@mips.complang.tuwien.ac.at> Cleverness: some X-Newsreader: trn 4.0-test77 (Sep 1, 2010) Originator: johnl@iecc.com (John Levine) Bytes: 2212 Lines: 21 According to Thomas Koenig : >> I have seen plenty of undefined behaviour in ISA's over the years. (A >> very common case is that instruction encodings that are not specified >> are left as UB so that later extensions to the ISA can use them.) > >A much better idea is to raise an exception, that way you can >be sure that nobody uses it for nefarious purposes. That was one of the innovations of S/360. Every unused opcode traps with an operation exception. This both avoided games with undocmented features, and let them provide limited upward compatbility in software. The 360/91 did not have the decimal instructions, but a module in OS/360 caught the traps and simulated them so programs would run, albeit slowly. I also understand that they did a lot of development of early S/370 software on a version of CP/67 that trapped and simulated the new instructions before the S/370 hardware was ready. -- Regards, John Levine, johnl@taugh.com, Primary Perpetrator of "The Internet for Dummies", Please consider the environment before reading this e-mail. https://jl.ly