mikeakohn / naken_asm

Assembler for MSP430, dsPIC, ARM, MIPS, 65xx, 68000, 8051/8052, Atmel AVR8, and others.
http://www.mikekohn.net/micro/naken_asm.php
GNU General Public License v3.0
290 stars 49 forks source link

Popular targets? #29

Closed larsbrinkhoff closed 7 years ago

larsbrinkhoff commented 7 years ago

Since I'm also in the toolchain business, I'm curious. Do you have a strategy for adding targets? Do you have some sense which of processors are most popular?

mikeakohn commented 7 years ago

I really don't have a strategy. Usually I either find a chip that has an interesting instruction set and code it up.. or I look for odd targets (TI/99, TRS80 for example) to add to Java Grinder. Sometimes I just get requests from people for different chips and if the instruction set looks clean I'll add them. Did you have some other targets in mind?

larsbrinkhoff commented 7 years ago

Here are some for your consideration.

These aren't requests from me, just what popped up when I was looking for processors to support.

mikeakohn commented 7 years ago

Hmm.. there's RISC-V support now, although I never tested it on a real chip (been resisting getting a HiFive1 board). I also for some reason thought ColdFire was opcode compatible with 68000 too... I thought just missing some instructions and maybe addressing modes. Maybe I had it wrong. I can look into Xtensa.. and PDP-11.. hmmm does anyone use that anymore? :)

Are you wanting just simulators or the assemblers too? Are you using the chips mentioned above?

larsbrinkhoff commented 7 years ago

I'm not sure about the ColdFire, I believe I read some time that the instruction encoding was different. Apparently, some people are still interested in those processors.

PDP-11, just for fun. :-) It's a nice, regular instruction set. And a strong influence on successive processors like 68000 and MSP430.

I'm mostly looking for simulators. When I port to a new processor, I like to be able to run automated tests in e.g Travis CI.

I'm not actually using these devices. It's mostly for my own amusement. But I do consider which processors are in current use.

See: http://github.com/larsbrinkhoff/xForth, and
https://github.com/larsbrinkhoff/xForth/issues/1

mikeakohn commented 7 years ago

Actually, I have 4 processors on my TODO list right now: ARC (which is maybe 20% done), THUMB2, webASM, and Java byte code.

I've never done forth before.. your project looks cool though.. I need to clone it and try it out.

larsbrinkhoff commented 7 years ago

Thanks. The ARC is a bit of a mystery to me. It shows up occasionally, but it doesn't seem possible to buy parts.

Feel free to ask if there's anything about my Forth stuff that's hard to understand.

mikeakohn commented 7 years ago

Arduino 101 has an ARC chip built into it. But since I haven't finished the assembler yet, I haven't tried to program it. It's definitely not fun to write an assembler for.

larsbrinkhoff commented 7 years ago

Thanks for the info!

larsbrinkhoff commented 7 years ago

About ColdFire, I think you were probably right:

The ColdFire instruction set is "assembly source" compatible and not entirely object code compatible with the 68000. When compared to classic 68k hardware, the instruction set differs mainly in that it no longer has support for the binary-coded decimal (BCD) packed data format; it removes a number of other, less used instructions; and most instructions that are kept support fewer addressing modes. The instructions are only 16, 32, or 48 bits long, a simplification compared to the 68000 series.

https://en.wikipedia.org/wiki/NXP_ColdFire#Instruction_set

mikeakohn commented 7 years ago

Yeah, I think they labeled the instructions in the 68000 manual were labeled as Coldfire compatible.. I thought it was under the CPU32 label but reading up on that it seems that's something else. It's a shame Motorola dropped this chip in favor of PowerPC... what a neat cheap.