編程語言越來越高級,彙編到底有什麼用?

夏灬未涼


對於嵌入式工程師彙編是很有用的。但顯然這不是主題。

對於高級語言的開發,瞭解彙編有什麼用?這讓我想到了之前回答一個網友的問題

就這樣一個小程序

該網友使用vc6.0編譯出來的結果是10,用vs2012編譯運行出來的結果是12,該網友也認為因該是12,但是卻不知道為什麼結果不同。

最後我通過VS自帶的反彙編查看了彙編代碼發現

6.0是先把前面兩個加起來在加最後一個的, 第一次 ++i=2; 第二次 ++i=3; a=3+3=6; 第三次 ++i=4; a=6+4=10;

2012是最後執行相加 第一次 ++i=2; 第二次 ++i=3;第三次 ++i=4; 最後 a=4+4+4=12

所以,瞭解一點彙編很多時候會有助於你分析問題


熱情的大神


反彙編程序。彙編語言絕對有用。如果能讀懂彙編語言的話,那程序反彙編之後,你也讀不懂。



我曾經自學過彙編語言,而學習彙編語言的目標很簡單,就是反彙編動態跟蹤遊戲,然後找到遊戲的所謂的call。然後用其他的高級語言程序編寫外掛。可以完成遊戲中的一些動作,這種外掛被稱為內存掛,效率要遠遠高於像按鍵精靈一樣的遊戲外掛。

如果您玩遊戲的話又想自己寫外掛的話,這一個是必須學習的,不然的話你沒法做一個好的遊戲輔助。

上面這種遊戲,屬於不是脫機的外掛,如果您想寫脫機外掛的話,那肯定還需要閱讀遊戲反彙編之後的彙編語言代碼。

在這些代碼裡面尋找遊戲發包收包加密的一些程序段,如果能完成這一步的學習製作分析,那就可以寫脫機外掛了。其實脫機外掛比較簡單,他不需要打開遊戲,也不需要完成遊戲的,防作弊系統。只是不停的收包發包就可以了,但是這個極其麻煩,分析起來。比如說心跳包,比如說地址的格式。人物信息的分佈。等等。

就和你分析這些吧,反正我覺得彙編語言,在當時的我來講,最大的作用就是玩遊戲.。最後再補充一下,彙編語言,學好了之後,您可以對一些底層的代碼進行分析,包括硬件的一些編程的代碼,彙編代碼也涉及到數據安全等等,還可以完成破解軟件,破解硬件加密狗脫殼加殼虛擬機等一系列的工作。

這樣我還能推薦一個論壇,當然現在不知道還有沒有,那就是看雪論壇。

祝您學習有進步。


談笑有白丁往來無鴻儒


彙編語言在工業控制上應用很廣。早期的Z80彙編語言幾乎是大學計算機課的必修課。我想,彙編語言最大的優勢應該是效率高,缺點是編寫它太費勁了,你得了解涉及的硬件,主要寄存器等等的許多東西。而且你得對二進制數字有充分的瞭解,同時要對外圍設備主要是模擬信號採集設備要充分了解,如鍋爐上用的熱電阻,熱電偶等等。同時你也得了解D/A和A/D轉換設備……這些東西涉及面太廣了!


多瑙河中的魚


彙編很重要,如果你是嵌入式領域,而且是要求高效代碼的情況下,現在很火的物聯網其實C和彙編還是重要的。其他領域基本不關心彙編。

另外如果你是學編程和計算機的新手,學習彙編能讓你更好的認識高級語言與計算機硬件的聯繫。

如果只是做web,數據庫之類的應用開發,可以忽略。


冰力十足冰紅茶


很簡單,最底層機器碼不好記,不好用,往上就是彙編了,比如遊戲你源代碼搞不到,要想修改來玩,只有反彙編後讀彙編代碼,當然,彙編還有執行效率高這些優點。但現在硬件性能過剩,收入提高,版權被重視,所以無目的的學彙編沒任何意義,也就剩網安還用的多。總結,想混口飯吃,瞭解既可,想做安全專家,就必須精通,否則有這時間,還不如去學一門高級語言。


二十出頭四十不到七


ie是用來下載其他瀏覽器的。彙編是用來編其他語言編譯器的


octorz


懂彙編才算真正瞭解計算機


polaris03


掌握一下二極管的通斷性,再加三極管的可控性就能理解


Wskvklqtd12345


彙編只是助記符而已,真正起作用的是CPU指令,不管多麼高級的語言最終都要變成指令才能執行。


公平正義就是毀滅一切


機器只認識1和0.


分享到:


相關文章: