欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2890|回復: 5
收起左側

關于MPLAB X IDE 反編譯的問題

[復制鏈接]
ID:399501 發表于 2021-7-20 18:03 | 顯示全部樓層 |閱讀模式
請教一下各位大佬,我使用MPLAB X IDE反編譯了PIC16F636的代碼,我大概看了一下,除了一些寄存器不在BANK0中,反編譯出來的寄存器變到了BANK0相對應地址的寄存器,其他的邏輯應該正確。但是有一段代碼感覺沒有被調用到,就有些疑惑。首先,MPLAB X IDE反編譯的正確率如何?其次,hex文件中會包含無效代碼嗎?
回復

使用道具 舉報

ID:401564 發表于 2021-7-21 00:13 | 顯示全部樓層
STATUS 寄存器的 RP<1:0> 為存儲區選擇位:這個很重要的!
它決定了你操作的是哪個BANK,并不是你看到操作了06H它就是操作了PORTB 的,它還要看兩個RP位才能知道它操作的是哪個BANK的
回復

使用道具 舉報

ID:399501 發表于 2021-7-21 08:36 | 顯示全部樓層
是的,我知道,因為用X IDE編譯出來的直接是個寄存器而不是一個地址。所以我才說有點錯誤,不然地址還是相對應的
回復

使用道具 舉報

ID:399501 發表于 2021-7-21 11:08 | 顯示全部樓層
使用反編譯的代碼,添加了幾句不被調用的代碼,編譯后再次反編譯,不被調用的代碼依舊存在,代碼與原代碼基本一致
回復

使用道具 舉報

ID:401564 發表于 2021-7-21 17:21 | 顯示全部樓層
HISAUC 發表于 2021-7-21 11:08
使用反編譯的代碼,添加了幾句不被調用的代碼,編譯后再次反編譯,不被調用的代碼依舊存在,代碼與原代碼基 ...

編譯器把C編譯成匯編,有時候是會一些無用的代碼,要不然,就不會有"C的效率"這一說法了,所以,有的外部器件會在數據手冊中推薦用匯編寫讀寫程序,
像Keil C51中的位移,實際上并沒有位移,它是通過加法實現的
有的人會覺得a=a<<8要比a=a*256好,實際上它們是一樣的,都是通過加法實現的

但是,編譯器不會有錯誤的,或者是說極少極少,特別是PIC16F系列,幾乎是不會有錯誤的,PIC16F沒有自家的編譯器,都是其它廠商做的編譯器,以前有比較多,最后就剩下那幾效率高的,不行的,基本被淘汰了

你想學反匯編,匯編一定要玩得6,一定不能仿真!沒有燒錄個上千次的,你PIC匯編是玩不好的
回復

使用道具 舉報

ID:123289 發表于 2021-7-22 09:44 | 顯示全部樓層
贊同5#的說法。
要想反編譯,你的匯編必需強。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表