When I was young i loved 6502. Instructions there were designed by programmers not from hardware developers. It was a pleasure to write programs for this chip in assembler. I used an assembler that had only one instruction of jump somewhere and decided itself which one used. "smart" assemblers (and/or instruction set specifications) that use a more limitted set of mnemonics and generate different formats and lengths of instructions depending on the actual arguments are a mixed blessing. In my opinion, you can get away with it if your instruction format is fixed enough that the generated instructions are the same length, or maybe if instruction length is somehow irrelevant (which doesn't happen much any more, but it's certainly easier in an architecture without "skip" instructions...) I wrote a fair amount of 8086 assembler in the early days of the IBM PC, and found the "strongly typed" nature of the asembler to be really annoying, for instance. If you had: data dw 10,0xdead, 0xbeef, 0x0 mycode mov al, data You'd get an error (because data it a "word", and al is only byte qide.) Grr. BillW -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads