jingmeidz 发表于 2013-5-18 16:36:55

pic单片机程序求解型号pic12F629

Label_004FDECF    0x43      , W
            ADDWF   0x42      , W
                  GOTO   Label_0050
            
Label_0029DECFSZ    0x43      , f
                  GOTO      Label_0051
                  MOVLW   0x03
                  MOVWF   0x43
                  MOVLW   0x34
                  GOTO      Label_0050
Label_0051DECF       0x43      , W
                  ADDWF   0x42      , W
            
Label_0050MOVWF   0x41
                  MOVF      0x41      , W
                  MOVWF   FSR
                  RETLW    0x00
注:里面有一些注释是看懂后写上去的,现在是卡在标红的那一段了,没办法往下走,那里用的都是goto,但是结束的时候都是RETLW 0x00指令,不知道返回去哪里还是跳去哪里请高手指点。完整代码在附件里面,Label_0050这里也只有以上这一段有出现。

zysblog 发表于 2013-5-18 16:42:49

程序返回到最近的一个CALL下面了。
搜索“004F”,找到下面几行指令。
Label_0027INCF    0x43      , f
            BTFSS   0x43      , 02
            GOTO    Label_004F
继续搜索“0027”,找到下面几行指令
Label_0077MOVLW   0x02
            MOVWF   0x21
            CALL    Label_0027
            GOTO    Label_002E
所以程序返回到了“CALL    Label_0027”处,下面一条指令就是“GOTO    Label_002E”
你在搜索一下,类似的调用应该不止一处。

zysblog 发表于 2013-5-18 16:43:52

你这是破解的别家的程序吧,破解出来的程序很难完全看懂的。

jingmeidz 发表于 2013-5-18 16:50:51

zysblog 发表于 2013-5-18 16:43 static/image/common/back.gif
你这是破解的别家的程序吧,破解出来的程序很难完全看懂的。

是的,是通过反汇编过来的,然后之前也没有用过PIC这单片机,感觉有很多地方看不懂,这些指令用法应该都是和飞凌,芯圣的一样吧?

jingmeidz 发表于 2013-5-18 16:51:40

zysblog 发表于 2013-5-18 16:42 static/image/common/back.gif
程序返回到最近的一个CALL下面了。
搜索“004F”,找到下面几行指令。
Label_0027INCF    0x43      , f


谢谢您,我在看看能不能看懂。

jingmeidz 发表于 2013-5-18 17:14:42

zysblog 发表于 2013-5-18 16:43 static/image/common/back.gif
你这是破解的别家的程序吧,破解出来的程序很难完全看懂的。

还有个想请教下您Label_0053CALL    Label_0052
            BTFSC   0x28      , 07
            RETLW   0x00
            BTFSC   0x28      , 00
            RETLW   0x00
            BTFSS   0x29      , 00
            GOTO    Label_0053
            BCF   0x29      , 00
            INCF    INDF      , f
            DECFSZ0x25      , f
            GOTO    Label_0053
            RETLW   0x00
INCFINDF,F这条指令是怎么用的呢?这个是间接寻址用的寄存器吧?

            

youmcu 发表于 2013-5-18 22:13:08

程序要与产品硬件功能结合起来看!
楼主想看懂反汇编的?我们自己写的程序过段时间再看还琢磨半天呢{:titter:}

jingmeidz 发表于 2013-5-20 08:45:08

youmcu 发表于 2013-5-18 22:13 static/image/common/back.gif
程序要与产品硬件功能结合起来看!
楼主想看懂反汇编的?我们自己写的程序过段时间再看还琢磨半天呢{:titte ...

确实是,自己写的程序,注释不多过段时间都要想想才知道那句是什么意思,看别人没有注释的汇编程序确实是痛苦了,真正的体验到了。不知道那些网上帮人做反汇编的是怎么做到的呢?他们有什么技巧吧

1521732588 发表于 2013-5-20 11:08:51

那就都注释好

jingmeidz 发表于 2013-5-20 13:38:18

1521732588 发表于 2013-5-20 11:08 static/image/common/back.gif
那就都注释好

嗯,不过这个是别人的程序,没有注释的。

1521732588 发表于 2013-5-20 15:22:13

破解别人的比较麻烦,还不如自己写了。

zysblog 发表于 2013-5-21 10:36:20

jingmeidz 发表于 2013-5-18 17:14 static/image/common/back.gif
还有个想请教下您Label_0053CALL    Label_0052
            BTFSC   0x28      , 07
            RETL ...

INDF就是操作INDF就是操作指针所指向的寄存器的内容。

jingmeidz 发表于 2013-5-22 09:29:37

zysblog 发表于 2013-5-21 10:36 static/image/common/back.gif
INDF就是操作INDF就是操作指针所指向的寄存器的内容。

INDF知道,但是有INDF的时候,它前面需要有对FSR进行操作吧

jingmeidz 发表于 2013-5-22 09:30:41

1521732588 发表于 2013-5-20 15:22 static/image/common/back.gif
破解别人的比较麻烦,还不如自己写了。

看了下这个人写的和我平时用的方法相差很大,想看看他这种方法是不是更好
页: [1]
查看完整版本: pic单片机程序求解型号pic12F629