MITSUBISHI MELPS7700 M37700 M37780 M37781 dissassembler.

MELPS7700 disassembler

Copyright(C)1996-2008 By H.Kashima , 52190th 2008/09/18 UPDATED


  1. about MELPS7700
  2. MELPS7700 series has few mode of variable data(8bit/16bit) length by status-bit in processor. there is two flags X-flag for index length, M-flag for data length.

    if flag equal zero, length is 16bit. flag equal 1, length is 8bit.

    we must disassemble target code with condition of X-flag and M-flag.

    dasm77.exe can disassembling with easy flag trace.

  3. output format
  4. 	addressing mode			example
    	immediate			lda	al, #0x0000
    	direct				lda	al, dp + 0x10
    	direct bit			seb	#0x01, dp + 0x10
    	direct indexed X		lda	al, dp + 0x10 + ix
    	direct indirect			lda	al, [dp + 0x10]
    	direct indexed X indirect	lda	al, [dp + 0x10 + ix]
    	direct indirect indexed Y	lda	al, [dp + 0x10] + iy
    	absolute			lda	al, 0x1234
    	absolute indexed X		lda	al, 0x1234 + ix
    	absolute long			ldal	al, 0x123456
    	absolute long indexed X		ldal	al, 0x123456 + ix
    	absolute indirect		jmp	[0x1234]
    	absolute direct long		jmpl	[0x1234]
    	absolute indexed X indirect	jmp	[0x1234 + ix]
    	direct bit relative		bbs	#0x5a, dp + 0x04, 0x1234
    	absolute bit relative		bbs	#0x5a, 0x1234, 0x4567
    	stackpointer relative		lda	al, sp + 0x02
    	stackpointer relative-
    		indirect indexed Y	lda	al, [sp + 0x1e] + iy
    	block transfer			mvn	0x00:iy, 0x00:ix, ax


    	al, bl		8bit access at accumrator
    	ax, bx		16bit access at accumrator
    	ix, iy		index register
    	ix8, iy8	8bit access at index registor
    	sp		stack pointer
    	dp		direct page register
    	pg		program bank register
    	dt		data bank register
    	ps		processor status register

  5. easy trace(only registed version)
  6. the easy trace is simurate condition of X, M-flag easualy. if found a opecode SEM, CLM, SEP and CLP, dasm77.exe changes mode in disassemble engine automaticaly.

    but, the easy trace is can not trace correctly such a this pattern.

    		cmp	ax, #0x1234
    		bcc	pass1
    	pass1:	lda	#0x3456
    in the processor, return subroutine before set M-flag. at next line of BCC. but, in the easy trace, dasm77.exe disassembles next line at label of pass1 kept M-flag. this is incorrect.

  7. how to use
  8. there is interactive mode and standard output mode. if you want disassemble of all code, use the standard output mode is effective. if you want peeping small code, use the interactive mode.

    standard output mode:

    dasm77 input_file start_addr(hex) end_addr(hex) X-flag M-flag
        C> dasm77 rom.bin 8000 8fff 0 1

    intaractive mode:

    dasm77 input_file
        C> dasm77 rom.bin
        MELPS7700 disasembler Version 1.0
        Copyright(C)1996 By H.Kashima
    command lists:
        u [start] [end]	disassemble
    	>u		disassemble 16 lines from current address
    	>u 8000		disassemble 16 lines from 0x8000
    	>u 8000 8fff	disassemble from 0x8000 to 0x8fff
        d [start] [end]	dump memory
    	>d		dump 128 byte from current address
    	>d 8000		dump 128 byte from 0x8000
    	>d 8000 8fff	dump from 0x8000 to 0x8fff
        x [value]		manual operation for X-flag
    	>x		print current condition in X-flag
    	>x 0		clear X-flag
    	>x 1		set X-flag
        m [value]		manual operation for M-flag
    	>m		print current condition in M-flag
    	>m 0		clear M-flag
    	>m 1		set M-flag
        q			quit program

  9. limited operation for shareware
  10. you can not few operation in unregistered software. can not disassemble at over 32KB code, and the easy trace.

  11. about this program
  12. this program is shareware. please register if you use this program continualy. how to register, please pay 3,000yen
        how to pay:
    		paypal:  3,150yen
    		please e-mail notify to me when you sent a money via paypal.

  13. warning
  14. this program is NO WARRANTY.

  15. reference
  16. software manual 7700 family(Mitsubishi Electric Ltd, Co.)

E-mail [注意]不適正な題名は即座ゴミ箱、名前を名乗らぬ者への返事はしない事があります。フリー系メールからは自動的に拒絶する場合があります。