@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ =@@@@ @@@@ @@@@ @@@@ @@@@ @@@@ @@@@@ @@@@@ @@@@@ @@@@@ @@@@@ :@@@@ *@@@@ @@@@ :@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@= @@@@ @` [deroad's blog] [home] # 2019-07-24 | r2dec - SuperH support { I've added Hitachi SuperH support to r2dec. Wasn't too hard. The instruction set is in between MIPS (yes, it has delayed branches) and Renesas v850, due the way instruction set is written (mnem op1 op0 -> Rd = op0 and Rs = op1). Example: ``` ; Hitachi SuperH add 0xf8, r15 ; r15 = r15 + 0xf8; tst r2, r2 ; cmp = r2 & r2 mov r15, r14 ; r14 = r15; ; delayed branch bt.s 0x1234 ; if (cmp == 1) goto 0x1234 ``` As you can see `add 0xf8, r15` become `r15 += 0xf8` where the last operand is the destination register. On Renesas v850 the syntax looks similar: ``` ; Hitachi SuperH addi 0xf8 r15 r15 ; r15 = r15 + 0xf8; tst r2, r2 ; cmp = r2 & r2 mov r15, r14 ; r14 = r15; be 0x1234 ; if (cmp == 1) goto 0x1234; ``` } # References: https://www.rockbox.org/wiki/pub/Main/DataSheets/sh1_2p.pdf http://www.shared-ptr.com/sh_insns.html