View Single Post
Old 04 April 2018, 11:27   #39
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,502
Quote:
Originally Posted by demoniac View Post
I'm curious on the history of the disassembly syntax. How come it deviated from MC68000 syntax?
I don't know, Bernd did that

But some of the differences are due to not doing extra any conversions, simple direct decoding it, for example BT is technically correct (Bcc + True condition = BT, BRA is only a nice alias)

I already "translated" most useless variants, for example MOVEM which was originally something like MVMEL and MVMLE #value,.. Which was done most likely because MOVEM to memory and MOVEM from memory are actually different op codes (from UAE emulation point of view because they don't implement same addressing modes) and registers are encoded as immediate word, same as MOVE.W #xxxx uses)

Same with other special instructions, instructions that only implement very limited addressing modes or have side-effects and have different "from" and "to" opcode variants (MOVEP, MOVE SR/CCR etc..), UAE disassembler requires them to have different "internal" unique opcode because disassembler opcode is same as instruction emulation opcode function name. Unless extra translation is added.

MMU/FPU instructions (that aren't properly supported in debugger) are even worse because they don't use normal addressing/register bits.
Toni Wilen is offline  
 
Page generated in 0.04440 seconds with 11 queries