相关疑难解决方法(0)

帮助68k组装 - 跳桌?

我正在为IDA的大型Amiga项目进行逆向工程,我取得了很大的进步.但是,有一些我无法弄清楚的东西.也就是说,我发现了几个使用我认为是"跳转表"的子程序 - 但我无法弄清楚它们是如何工作的.有人有建议吗?

        moveq   #0,d0
        move.b  d7,d0       ; set D0 to a byte from CTRL
        subq.w  #1,d0       ; subtract 1 from it
        blt.w   finish_29ABA    ; if D0 is less than 1, branch
        cmpi.w  #$16,d0
        bge.w   finish_29ABA    ; if D0 is greater than or equal to 16, branch
        add.w   d0,d0       ; otherwise, double D0
        move.w  dword_29918(pc,d0.w),d0
        jmp dword_29918+2(pc,d0.w)
; ---------------------------------------------------------------------------
dword_29918:    dc.l $400036        ; CODE XREF: serialCtrlCmd+E0j
        dc.l $360036
        dc.l $3601A0
        dc.l $3601A0
        dc.l $1A001A0
        dc.l $360040
        dc.l $2A01A0
        dc.l $400036 …
Run Code Online (Sandbox Code Playgroud)

assembly 68000 machine-language amiga

12
推荐指数
1
解决办法
2510
查看次数

标签 统计

68000 ×1

amiga ×1

assembly ×1

machine-language ×1