yzoer wrote:
Large contiguous memory (4MB on the PLCC version)
65816 addresses 16MB, and it's a natural extension of the 6502, if that's what you want.
Quote:
8-bit data-bus reduces components / pins
65816 allows you to put the registers into 16-bit mode, but the data bus is still 8-bit.
Quote:
high-level language support (C/C++)
http://www.westerndesigncenter.com/wdc/tools.cfmhttp://www.westerndesigncenter.com/wdc/ ... /816cc.pdfQuote:
more registers, multiply, divide, etc.
See
http://wilsonminesco.com/16bitMathTables/index.html which is about using large look-up tables for hyperfast, accurate, 16-bit scaled-integer math, including multiplication, inversion (with 32-bit results), trig, & log functions, in many cases
hundreds of times as fast as actually calculating the functions, yet the tables supplied are accurate to all 16 bits, with no interpolation necessary.
As far as the greater number of registers goes, that seems to be a bigger asset for compilers. BigEd observed, "With 6502, I suspect more than one
beginner has wondered why they can't do arithmetic or logic operations on X or Y, or struggled to remember which addressing modes use which of the two. And then the
intermediate 6502 programmer will be loading and saving X and Y, while the
expert always seems to have the right values already in place." I think the 6502 (and '816) are easier to write assembly for. Although most assembly we see is attrocious, assembly does not require spaghetti code and preclude having program structures. See my
article on implementing program structures in 65c02 assembly, through macros, yielding benefits of higher-level languages without robbing any of the efficiency or control of assembly.