Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!rutgers!orstcs!romana!bennete From: bennete@romana.cs.orst.edu (Erik J. Bennett) Newsgroups: comp.sys.amiga.tech Subject: Manx bug! Keywords: asm Message-ID: <7393@orstcs.CS.ORST.EDU> Date: 16 Nov 88 03:47:18 GMT Sender: usenet@orstcs.CS.ORST.EDU Lines: 37 Why does the following code work on every other c compiler in the world, that I've used, and not manx 3.6a? /* initial image maker */ # include # define newInteger(x) ( (intobj = x)<0 ? intobj : (intobj<<1)+1 ) typedef short object; main(argc, argv) int argc; char **argv; { object intobj,x; x = newInteger(8); } Aztec C68K 3.6a 12-18-87 (C) 1982-1987 by Manx Software Systems, Inc. Aztec 68000 Assembler 3.6a 12-18-87 tst.w #8 ^ File ctmpA45.512; Line 7 # Opcode operands did not match. src=0 dst=500a404 1 errors -Erik bennete@romana.cs.orst.edu p.s. You wouldn't think that the compiler would generate illegal code. It seems to me to be a strange place to fail.