Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Best disassembler for 16C62A?

Status
Not open for further replies.

kentken

New Member
I have a 16C62A from a old control unit. I would like to convert the .Hex into .Asm so I can modify the program before I program a new unit.
Where can I find a disassembler that will work with this processer?

Thanks
Kent
:)
 
kentken said:
I have a 16C62A from a old control unit. I would like to convert the .Hex into .Asm so I can modify the program before I program a new unit.
Where can I find a disassembler that will work with this processer?

My pic programmer software, WinPicProg, includes a disassembler, but it doesn't support the 16C62A - depending how similar it is to other chips, it may disassemble well enough to reassemble again. MPLAB also has disassembling capability, but I don't know how well it works.

This assumes that the PIC isn't code protected of course!.
 
I have tryed your software, but like you said, it don't suport the 16c62A.

I have also tryed IC-Prog 1.05c, (This uses your windis84) but the output is for the F84?, Same???

I will be going with the 16F872 latter, but I need the basic code to go from.

What do I need to look for to find a chip that will disassemble the same?

Thanks again
kent
 
If you can't find anything its not that hard to write your own disassembler. The binary in the hex file decodes directly to the assembly.

Brent
 
kentken said:
I have tryed your software, but like you said, it don't suport the 16c62A.

As long as it uses a 14 bit core, any of the 16 series should disassemble it to some extent, the only differences are the names (and positions) of registers.

I have also tryed IC-Prog 1.05c, (This uses your windis84) but the output is for the F84?, Same???

Yes, IC-Prog used my old 16 bit disassembler, I released the 16 bit source code when I stopped supporting it.

I will be going with the 16F872 latter, but I need the basic code to go from.

What do I need to look for to find a chip that will disassemble the same?

You should be able to do it from any 14 bit PIC, but you will need to make slight changes to the disassembled code.

As I mentioned before, MPLAB will disassemble as well, but it does it fairly crudely - but enough to reassemble.
 
Thanks again Nigel, that will get me on the right path.
I had tryed MPLAB, but it wouldn't import the file.
If you have any more pointers, please let me know

Thanks again,
Kent
 
kentken said:
Thanks again Nigel, that will get me on the right path.
I had tryed MPLAB, but it wouldn't import the file.
If you have any more pointers, please let me know

Well I've never tried doing this with MPLAB, in fact I don't even use it (I just use MPASM for assembling). But if it's a valid HEX file I don't see why MPLAB won't accept it.

If you would like to send me the HEX file I'll have a try with it.
 
Hi Nigel, thanks for the offer.

I sent it to the email listed on your web page.

Thanks
Kent
 
newbie

i admire most of your PIC programmers it so happens that one of those that you posted is applicable for our project. but the problem is i find the program complicated to understand its because i am not that well in understanding PIC programmers... i have this code and if i may i would like to know the functions of these codes...

thanks..

LIST P=16F84, F=INHX8M
include "P16FXX.inc"
ORG 0x0000

GOTO Label_0001
NOP
NOP
NOP
RETFIE
Label_0014 ADDWF PCL , f
RETLW 0xC1
RETLW 0x06
RETLW 0x28
RETLW 0x64
RETLW 0xF1
RETLW 0x4E
RETLW 0x00
RETLW 0x00
RETLW 0x00
RETLW 0x00
Label_0001 MOVLW 0xFE
TRIS PORTB
MOVLW 0xFF
TRIS PORTA
MOVLW 0x00
MOVWF PORTA
MOVWF PORTB
MOVLW 0x7F
OPTION
CALL Label_0002
Label_0004 MOVLW 0xF0
ANDWF PORTB , W
MOVWF 0x1C
XORLW 0xF0
BTFSS STATUS , Z
GOTO Label_0003
MOVF PORTB , W
MOVLW 0x08
MOVWF INTCON
SLEEP
MOVF PORTB , W
GOTO Label_0004
Label_0003 CALL Label_0005
INCF 0x1D , f
MOVLW 0x10
MOVWF 0x11
Label_0007 CALL Label_0006
DECFSZ 0x11 , f
GOTO Label_0007
CALL Label_0008
MOVLW 0x16
MOVWF FSR
MOVLW 0x08
MOVWF 0x10
CLRF 0x15
Label_000A MOVF INDF , W
ADDWF 0x15 , f
MOVF INDF , W
CALL Label_0009
INCF FSR , f
DECFSZ 0x10 , f
GOTO Label_000A
MOVF 0x15 , W
CALL Label_0009
GOTO Label_0004
Label_0009 MOVWF 0x14
MOVLW 0x08
MOVWF 0x11
Label_000D RLF 0x14 , f
BTFSC STATUS , C
GOTO Label_000B
CALL Label_0006
GOTO Label_000C
Label_000B CALL Label_0008
Label_000C DECFSZ 0x11 , f
GOTO Label_000D
CALL Label_0008
RETURN
Label_0006 MOVLW 0x01
MOVWF PORTB
MOVLW 0x65
MOVWF 0x13
Label_000E DECFSZ 0x13 , f
GOTO Label_000E
MOVLW 0x00
MOVWF PORTB
MOVLW 0x65
MOVWF 0x13
Label_000F DECFSZ 0x13 , f
GOTO Label_000F
RETURN
Label_0008 MOVLW 0x01
MOVWF PORTB
MOVLW 0x65
MOVWF 0x13
Label_0010 DECFSZ 0x13 , f
GOTO Label_0010
MOVLW 0x65
MOVWF 0x13
Label_0011 DECFSZ 0x13 , f
GOTO Label_0011
MOVLW 0x00
MOVWF PORTB
MOVLW 0x65
MOVWF 0x13
Label_0012 DECFSZ 0x13 , f
GOTO Label_0012
MOVLW 0x65
MOVWF 0x13
Label_0013 DECFSZ 0x13 , f
GOTO Label_0013
RETURN
Label_0002 MOVLW 0x16
MOVWF FSR
MOVLW 0x00
MOVWF 0x10
Label_0015 MOVF 0x10 , W
CALL Label_0014
MOVWF INDF
INCF FSR , f
INCF 0x10 , f
MOVLW 0x08
SUBWF 0x10 , W
BTFSS STATUS , Z
GOTO Label_0015
RETURN
Label_0005 MOVLW 0x64
MOVWF 0x11
Label_0017 MOVLW 0x63
MOVWF 0x12
Label_0016 DECFSZ 0x12 , f
GOTO Label_0016
DECFSZ 0x11 , f
GOTO Label_0017
RETURN

ORG 0x2000
DATA 0x0F
DATA 0x0F
DATA 0x0F
DATA 0x0F

ORG 0x2007
DATA 0x11

ORG 0x2100
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF

END
 
Software

Dear Ken

Have a Google for PICDISL (user guide attached) - it may do what you want.

Rupert
 

Attachments

  • PICDISL.PDF
    138.5 KB · Views: 640
lt_abarai

Please start your own thread - you will get more help than trying to hijack this one! :mad:

Rupert
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top