View Single Post
Old 04 April 2018, 18:32   #41
bernd roesch
Registered User
 
Join Date: Apr 2012
Location: germany
Posts: 139
Quote:
Originally Posted by Toni Wilen View Post
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.
there is good disassembler library http://aminet.net/package/util/libs/DisLib maybe it is possible to run 68k code from the debugger to disassemble correct all
bernd roesch is offline  
 
Page generated in 0.04425 seconds with 11 queries