c51程序逆向分析

来源:互联网 发布:达观数据 陈运文履历 编辑:程序博客网 时间:2024/04/30 09:24
lessxxx.c源码 

#include <reg52.h>
#include <absacc.h>

sbit LED_BIT = P1^6;

void main(void)
{
 LED_BIT = 1;
 P0 = 'a';
 while(1);
}

二进制文件lessxxx.hex

打开C51反汇编器选择hex文件:

;==========================================================================
;==========================================================================
;标号==============指令================================地址===机器码=======
;==========================================================================
Q0000:             LJMP  Q0003                        ;0000   02 00 03
;==========================================================================
Q0003:             MOV   R0,#7FH                      ;0003   78 7F
                   CLR   A                            ;0005   E4
Q0006:             MOV   @R0,A                        ;0006   F6
                   DJNZ  R0,Q0006                     ;0007   D8 FD
                   MOV   SP,#07H                      ;0009   75 81 07
                   LJMP  Q000F                        ;000C   02 00 0F
;==========================================================================
Q000F:             SETB  P1.6                         ;000F   D2 96 //相当于sbit LED_BIT = P1^6; LED_BIT = 1;

                   MOV   P0,#61H                      ;0011   75 80 61//相当于P0 = 'a';    a的ascii码0x61
                   SJMP  $                            ;0014   80 FE

原创粉丝点击