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