c51程序逆向分析

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章