bin如何轉(zhuǎn)換hex的格式 菜農(nóng)的超級51反匯編disasm51用著如何?
菜農(nóng)的超級51反匯編disasm51用著如何?菜農(nóng)的51非常非常反匯編disasm51是在1993年編譯程序的,在DOS上用命令行不運行的。當時發(fā)現(xiàn)到萬利的仿真器自帶的intelc語言程序的61反匯編
菜農(nóng)的超級51反匯編disasm51用著如何?
菜農(nóng)的51非常非常反匯編disasm51是在1993年編譯程序的,在DOS上用命令行不運行的。
當時發(fā)現(xiàn)到萬利的仿真器自帶的intelc語言程序的61反匯編比較不錯,只不過代碼和數(shù)據(jù)的分離做的不太好,但優(yōu)點是可以手工更改從某區(qū)域開始反匯編。
菜農(nóng)是受到還反匯編的啟發(fā)再產(chǎn)生了c語言設計反匯編的念頭。
當時要許多數(shù)據(jù)格式的轉(zhuǎn)換,所以我想練手,故c語言設計了許多可以轉(zhuǎn)換程序,如hex2bin,bin2hex的這些已經(jīng)有的命令行程序。
反匯編的要點那就是“數(shù)據(jù)和代碼的分離”!
菜農(nóng)的原則是即便反匯編出的全部是數(shù)據(jù)區(qū),也能實際編譯器再次編譯。
而51就開始必須是從“復位掉線向量”就開始正常運行的,它運行程序過的,是“程序區(qū)”,未運行到的地方就叫“數(shù)據(jù)區(qū)”。
51有其他自動向量,如外部關閉向量,定時器掉線向量,串口中斷向量等,但不是肯定會先執(zhí)行,即可能會不存在,如果硬是負責執(zhí)行,反匯編的代碼絕對不對。
因為程序中存在地“散轉(zhuǎn)程序”或函數(shù)指針,故指令中隱藏了程序的入口地址,而真入口地址在“變量”或“數(shù)組中隱藏地著。
故必須用戶自己先添加這些“追蹤向量”,即“滿入口地址表”。
disasm51只支持64K以內(nèi)的程序的反匯編,故地址為兩個字節(jié)4個16進制數(shù)字。
因此現(xiàn)在是windows時代,故命令行早沒人使用也更加實在不方便,故菜農(nóng)將其導進到HotISP軟件內(nèi),HotISP的的確工作是用ISP去下載程序。
在HotISP,也可以選擇類型主菜單“HotWC3”,子菜單“MCS51反匯編”,變會會出現(xiàn)disasm51窗口界面。
它是需要能提供disasm51.exe的安裝路徑(巳經(jīng)系統(tǒng)默認完全安裝),用戶必須提供給BIN格式的文件!
要是是HEX格式,要在“文件轉(zhuǎn)換”里進行HEX和BIN的自動轉(zhuǎn)換。
disasm51這個可以和keil文件或keil工程實現(xiàn)聯(lián)動。
再點擊“打開keil文件”,即可在keil里再打開用戶的反匯編后的A51文件,很方便地再編輯修改文件。
再點擊“打開keil工程”,即可在keil里可以打開用戶的工程,直接用keil編譯用戶的反匯編A51文件,這個可以生成沉淀HEX文件,非常方便。
用戶可以不中有keil內(nèi)的芯片INC頭文件,但要先轉(zhuǎn)換成為“用戶定義”DEF文件并能保存。
用戶的所以我你的操作就在“用戶定義”窗口內(nèi),然后只需點擊“單次”或“藍色箭頭”即可運行反匯編。
其輸出來為A51文件,這個可以在disasm51內(nèi)的“A51文件”窗口內(nèi)打開系統(tǒng),也是可以用keil打開系統(tǒng),或其他編輯軟件一欄。
HotISP網(wǎng)上有可以下載,也可頭條私信聯(lián)系菜農(nóng)。
西門子300變量表顯示格式?
以下為數(shù)據(jù)顯示格式:
BIN,它表示二進制數(shù);DEC,可以表示十進制數(shù);HEX,可以表示十六進制數(shù);FLOATING_POINT,它表示浮點數(shù);以下為數(shù)據(jù)格式;
INT,它表示16位(單)整型;DINT,它表示32位雙整型;REAL,可以表示32位實數(shù)型(浮點數(shù));
WORD,來表示16位(單)字;DWORD,來表示32位雙字;