## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# 68k Palm Pilot

IDA is the best disassembler for Palm Pilot programs. It supports all Palm OS versions and will even accept partially packed programs. The Palm Pilot uses a 68K processor.

The Motorola 68K family of processors is huge and very widely used. A few sample parts: MC68000, MC68010, MC68020, MC68030, MC68040, MC68330, MC68882, MC68851, MC68020EX, MC68302 Integrated Communication Processor, MC68306 68K/ColdFire, MC68331 68K/ColdFire, MC68332 68K/ColdFire, MC68336 68K/ColdFire, MC68340 68K/ColdFire, MC68360 Integrated Communication Processor, MC68F375 68K/ColdFire, MC68376 68K/ColdFire, etc.

Assembler code

    code0001:00000204
    code0001:00000204 ; =============== S U B R O U T I N E =======================================
    code0001:00000204
    code0001:00000204 ; Attributes: bp-based frame
    code0001:00000204
    code0001:00000204 proc            sub_204()               ; CODE XREF: sub_31E+A0↓p
    code0001:00000204
    code0001:00000204 var_68          = -$68
    code0001:00000204 var_50          = -$50
    code0001:00000204 arg_0           =  8
    code0001:00000204 arg_8           =  $10
    code0001:00000204 arg_A           =  $12
    code0001:00000204
    code0001:00000204                 link    a6,#-$50
    code0001:00000208                 movem.l d3-d6/a2-a3,-(sp)
    code0001:0000020C                 movea.l arg_0(a6),a3
    code0001:00000210                 move.w  arg_8(a6),d0
    code0001:00000214                 beq.s   loc_222
    code0001:00000216                 addi.w  #-$8000,d0
    code0001:0000021A                 clr.l   d4
    code0001:0000021C                 move.w  d0,d4
    code0001:0000021E                 bra     loc_224
    code0001:00000222 ; ---------------------------------------------------------------------------
    code0001:00000222
    code0001:00000222 loc_222:                                ; CODE XREF: sub_204+10↑j
    code0001:00000222                 moveq   #0,d4
    code0001:00000224
    code0001:00000224 loc_224:                                ; CODE XREF: sub_204+1A↑j
    code0001:00000224                 move.w  d4,-(sp)
    code0001:00000226                 move.l  #$636F6465,-(sp)
    code0001:0000022C                 systrap DmGet1Resource()
    code0001:00000230                 move.l  a0,d5
    code0001:00000232                 addq.w  #6,sp
    code0001:00000234                 bne.s   loc_272
    code0001:00000236                 lea     aCouldNotLoadCo(pc),a1 ; "Could not load code segment #"