久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5350|回復(fù): 23
打印 上一主題 下一主題
收起左側(cè)

怎么將C語言轉(zhuǎn)換為匯編語言,求大佬

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
#
ID:829993 發(fā)表于 2020-10-14 21:53 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
怎么將C語言轉(zhuǎn)換為匯編語言,求大佬給具體一點(diǎn)操作過程
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

23#
ID:587810 發(fā)表于 2022-2-5 21:18 | 只看該作者
使用Keil軟件中的調(diào)試功能可以直接轉(zhuǎn)換,有時(shí)候需要一點(diǎn)點(diǎn)的修改
回復(fù)

使用道具 舉報(bào)

22#
ID:1003232 發(fā)表于 2022-2-5 08:04 | 只看該作者
轉(zhuǎn)出來的根實(shí)際的不一樣,還是自已學(xué)吧
回復(fù)

使用道具 舉報(bào)

21#
ID:997051 發(fā)表于 2022-2-4 23:53 | 只看該作者
用HEX文件反匯編, 就得到匯編文件了
回復(fù)

使用道具 舉報(bào)

20#
ID:997051 發(fā)表于 2022-2-4 23:52 | 只看該作者
用HEX文件反匯編, 就得到匯編文件了
回復(fù)

使用道具 舉報(bào)

19#
ID:883242 發(fā)表于 2021-12-28 14:24 | 只看該作者
編譯器有輸出匯編的開關(guān),看編譯器手冊吧。
回復(fù)

使用道具 舉報(bào)

18#
ID:953461 發(fā)表于 2021-12-28 11:03 | 只看該作者
用編譯器就可以
回復(fù)

使用道具 舉報(bào)

17#
ID:981034 發(fā)表于 2021-12-28 10:50 | 只看該作者
k5自帶了匯編程序,不用轉(zhuǎn)吧?
回復(fù)

使用道具 舉報(bào)

16#
ID:673169 發(fā)表于 2020-10-19 10:51 | 只看該作者
1. 預(yù)處理:負(fù)責(zé)執(zhí)行C語言中的#include, #if, #else 等預(yù)處理指令。注意,這里是去執(zhí)行這些預(yù)處理指令。這些預(yù)處理指令的作用是根據(jù)你的系統(tǒng)環(huán)境配湊出最終版的源代碼。

C語言

2. 詞法分析:把你定義的函數(shù)名、變量名、預(yù)留的關(guān)鍵字等抽象化,用一個(gè)符號(hào)來代替,方便編譯程序處理。例如上圖中的main, return, printf等單詞,都被看作一個(gè)符號(hào),轉(zhuǎn)換成M, R, P。在這個(gè)過程中,會(huì)檢查你的變量名、函數(shù)名名稱是否正確。

3. 語法分析:經(jīng)過詞法分析處理之后,程序代碼已經(jīng)變成一堆符號(hào)了,例如 I S T F ... M I R P(放心,人已經(jīng)不認(rèn)識(shí)了,但是計(jì)算機(jī)能認(rèn)識(shí))。這時(shí)的符號(hào)是打散的,語法分析負(fù)責(zé)把這些符號(hào)按照一定的結(jié)構(gòu)組織起來,形成一個(gè)抽象語法樹(這個(gè)結(jié)構(gòu)跟你寫的程序代碼的結(jié)構(gòu)是對應(yīng)起來的)。

C語言

4. 語義分析:當(dāng)構(gòu)造出這樣一個(gè)樹的結(jié)構(gòu)之后,編譯就就會(huì)檢查語法是否正確,并且去掃描這棵樹。根據(jù)這棵樹的結(jié)構(gòu),生成中間指令了。這個(gè)中間指令已經(jīng)非常接近匯編。中間指令跟匯編還是有區(qū)別的,因?yàn)椴煌瑥S家的CPU指令有所不同,所以還要根據(jù)不同廠家的CPU指令集,把這個(gè)中間指令轉(zhuǎn)換成匯編。

C語言

5. 優(yōu)化:因?yàn)槌绦騿T有時(shí)代碼寫的不太好,會(huì)導(dǎo)致一些多余的操作,或者效率低的指令。優(yōu)化過程可以找出這些毛病,自動(dòng)替換成更好的指令。

6. 鏈接:以上過程只編譯了一個(gè)模塊,一個(gè)大型程序往往包含好多個(gè)模塊。最后的鏈接過程負(fù)責(zé)把所有模塊組裝起來,構(gòu)造出最后可以執(zhí)行的程序。
回復(fù)

使用道具 舉報(bào)

15#
ID:155507 發(fā)表于 2020-10-17 15:34 | 只看該作者
KEIL原本就必須將C轉(zhuǎn)成匯編,再轉(zhuǎn)成機(jī)器碼。在設(shè)置勾選項(xiàng)中(輸出文件)中找找。
將C與其生產(chǎn)匯編對比,對于提升及理解C,有極大的好處。



就在 *.lst 文件里面,你可以打開 main.lst 看看
回復(fù)

使用道具 舉報(bào)

14#
ID:818003 發(fā)表于 2020-10-17 14:31 | 只看該作者
地板是正解
但是基本上看不明白,調(diào)試之后你就會(huì)發(fā)現(xiàn)這些匯編僅供參考。。
回復(fù)

使用道具 舉報(bào)

13#
ID:235954 發(fā)表于 2020-10-17 13:44 | 只看該作者
用HEX文件生成的匯編文件,看起來也是頭疼
回復(fù)

使用道具 舉報(bào)

12#
ID:382454 發(fā)表于 2020-10-17 11:45 | 只看該作者
你能牛肉轉(zhuǎn)換成豬肉,馬肉轉(zhuǎn)換成羊肉,她就能把C轉(zhuǎn)換成匯編。
回復(fù)

使用道具 舉報(bào)

11#
ID:414556 發(fā)表于 2020-10-15 21:23 | 只看該作者
我覺得你應(yīng)該學(xué)好匯編直接用匯編寫,不然C轉(zhuǎn)的你會(huì)看了頭暈的
回復(fù)

使用道具 舉報(bào)

10#
ID:798631 發(fā)表于 2020-10-15 19:59 | 只看該作者
奇葩需求,自己重新編都比轉(zhuǎn)過來好
回復(fù)

使用道具 舉報(bào)

9#
ID:123289 發(fā)表于 2020-10-15 17:03 | 只看該作者
平臺(tái)會(huì)自動(dòng)生成,不用你動(dòng)手。
回復(fù)

使用道具 舉報(bào)

8#
ID:830326 發(fā)表于 2020-10-15 16:16 | 只看該作者
貌似不能轉(zhuǎn)的,還是老老實(shí)實(shí)學(xué)習(xí)匯編吧!
回復(fù)

使用道具 舉報(bào)

7#
ID:342954 發(fā)表于 2020-10-15 15:45 | 只看該作者
小程序可以,大程序就轉(zhuǎn)出來,也沒有啥用
回復(fù)

使用道具 舉報(bào)

6#
ID:420836 發(fā)表于 2020-10-15 10:08 | 只看該作者
編譯C程序后,使用反向匯編語言工具獲取匯編代碼。
回復(fù)

使用道具 舉報(bào)

5#
ID:584814 發(fā)表于 2020-10-15 09:24 | 只看該作者
目前的技術(shù),靠機(jī)器翻譯的東東會(huì)讓人一頭霧水的,人類語言如此機(jī)器語言也一樣。
回復(fù)

使用道具 舉報(bào)

地板
ID:401564 發(fā)表于 2020-10-15 09:05 | 只看該作者
地板是正解
但是看為明白的,調(diào)試之后你就會(huì)發(fā)現(xiàn):C里面的位移實(shí)際上是用加法來完成的,延時(shí)有時(shí)候是一大堆的NOP指令,這都是機(jī)器的算法,很難看明白的
回復(fù)

使用道具 舉報(bào)

板凳
ID:88256 發(fā)表于 2020-10-15 00:13 | 只看該作者
打開KEIL,點(diǎn)擊調(diào)試按鈕 ,進(jìn)入調(diào)試界面,就有對應(yīng)的匯編程序了



回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:830046 發(fā)表于 2020-10-15 00:12 | 只看該作者
1.使用gcc

        使用gcc -S 1.c可以把1.c轉(zhuǎn)成特殊的1.s,感覺其實(shí)是類似于匯編,然后可以修改其代碼,要想繼續(xù)編譯可以用gcc -s 1.s然后就可以實(shí)現(xiàn)

2.使用VC++ 編譯器 自帶的 dumpbin 就可以 做反匯編。
       如vc++中在C:\Program Files\Microsoft Visual Studio\VC98\BIN\DUMPBIN.exe
       dumpbin /DISASM abc.exe
       dumpbin /DISASM abc.exe /OUT:abc.asm

3.在vc或者vs的時(shí)候按alt+8可以進(jìn)行匯編調(diào)試,不僅可以查看程序的匯編代碼,而且也可以查看此時(shí)的變量。

4.通過修改項(xiàng)目 -> 屬性 -> C/C++ -> 輸出文件 -> 匯編輸出之后,每次運(yùn)行后都可以在debug下面找到一個(gè)asm文件
回復(fù)

使用道具 舉報(bào)

樓主
ID:328014 發(fā)表于 2020-10-14 22:36 | 只看該作者
不能轉(zhuǎn)的,放棄吧,只能從頭開始重寫匯編代碼
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲日日夜夜 | 国产高清免费在线 | 久草视频2 | 日韩精品区| 国产美女在线观看 | 久久精品国产99国产精品 | 国产一区视频在线 | 国产精品九九九 | 国产小视频在线看 | 国产精品一区二区三区久久 | 久久爱黑人激情av摘花 | 狠狠色综合网站久久久久久久 | 狠狠狠干 | 亚洲高清视频在线观看 | 成人在线视频一区二区三区 | 亚洲欧美日韩精品久久亚洲区 | 精品欧美一区免费观看α√ | 毛片视频网址 | 九九久久在线看 | 亚洲视频免费观看 | 亚洲欧美一区二区三区1000 | 精品欧美一区二区三区精品久久 | 欧美久久一级特黄毛片 | 日韩成人在线一区 | 免费欧美 | 欧美成人h版在线观看 | 日韩二| 欧美色综合天天久久综合精品 | 亚洲国产一区视频 | 久久视频免费观看 | 91精品国产综合久久久久久漫画 | 99精品国产一区二区三区 | 精品国产一区二区久久 | 成人性视频免费网站 | 久久久久久国产精品免费 | 中文天堂在线观看 | 国产免费观看视频 | 欧美日韩国产一区二区三区 | 欧美片网站免费 | 91av久久久 | 97精品久久 |