如何看懂匯編代碼 匯編器怎么將匯編語言編譯成機(jī)器代碼?
匯編器怎么將匯編語言編譯成機(jī)器代碼?每個(gè)CPU都有自己的一組指令,指令本身是一個(gè)二進(jìn)制代碼字符串,只是為了方便存儲(chǔ)和寫入,使用助記符代替,如add。使用助記符編寫的代碼可以理解為匯編代碼,因此只要根據(jù)
匯編器怎么將匯編語言編譯成機(jī)器代碼?
每個(gè)CPU都有自己的一組指令,指令本身是一個(gè)二進(jìn)制代碼字符串,只是為了方便存儲(chǔ)和寫入,使用助記符代替,如add。
使用助記符編寫的代碼可以理解為匯編代碼,因此只要根據(jù)指令集對(duì)匯編代碼進(jìn)行轉(zhuǎn)義,就可以生成機(jī)器代碼。
CPU工作原理:https://www.toutiao.com/i6672203661197705736/
程序員該如何玩轉(zhuǎn)匯編指令?
實(shí)際上玩組裝真的意味著“拆卸”。
我學(xué)習(xí)了Z80匯編,51匯編,我寫了51超級(jí)反匯編disasm51,后來嵌入到hotisp。網(wǎng)上有。(我認(rèn)為它是最好的51個(gè)反匯編程序之一)
我學(xué)習(xí)了x86匯編程序和宏匯編程序,并使用了反匯編軟件。
學(xué)習(xí)PIC組裝和拆卸軟件。宏C語言HPL是由宏匯編而成的。
使用Keil C51進(jìn)行調(diào)試時(shí),您將在調(diào)試時(shí)看到(反匯編)說明。
當(dāng)然,其他MCU、arm和DSP編譯軟件在調(diào)試時(shí)可以看到匯編指令。
所以,玩匯編,如果它有宏匯編,它會(huì)更有趣,它可以讓你感受到“發(fā)明語言”的樂趣
如下圖所示,我在1991年用DOS嵌入了它調(diào)試.com反匯編破解了美國(guó)福祿克公司CRC32保護(hù)軟件狗的截圖。當(dāng)時(shí)是用打印機(jī)打印反匯編部分代碼,然后粘貼在筆記本上。
那時(shí)候真的很難