这里贴一个例子目标代码,有兴趣的可以在Keil里仿真一下。
在不加手工干预的前提下,我见过的所有反汇编工具都败了。
john_light 发表于 2011-10-19 11:10 
哈哈~~~
-
- ;Disasm51 Version 5.08 Copyright (c) 2011,2018 HotPower@126.com
- ;Binfile_name:[C:\hotisp\disasm51\trap.bin]
- ;Binfile_size:[0...004CH]
- ;Compile_size:[0...004CH]
- $NOMOD51
- $INCLUDE(d:\Keil\C51\ASM\REG52.INC)
- ORG 0000H
- RESET: MOV DPTR,#0000H
- L0003: LCALL S0010
- LJMP 0202H;?*;哈哈,此句是永远运行不到的~~~
- LJMP 0202H;?*;哈哈,同上句,太低下
- DB 002H,002H
- L000E: SJMP $
- S0010: MOV R0,DPL
- MOV B,DPH
- POP DPH
- POP DPL
- LCALL L0033
- LCALL L0033
- LCALL L0033
- LCALL L0033
- LCALL L0033
- LCALL L0033
- LCALL L0033
- LCALL L0033
- CLR A
- JMP @A+DPTR;?;哈哈,散转最后捕获
- L0033: CLR A
- L0034: MOVC A,@A+DPTR
- INC DPTR
- XCH A,DPH
- XCH A,B
- XCH A,DPH
- XCH A,R0
- XCH A,DPL
- XCH A,R0
- MOVX @DPTR,A
- INC DPTR
- XCH A,DPH
- XCH A,B
- XCH A,DPH
- XCH A,R0
- XCH A,DPL
- XCH A,R0
- RET
- END
|