匯編的基本常用指令 怎么才能讀懂匯編指令?
怎么才能讀懂匯編指令?方法1。開始運(yùn)行,輸入debug并確認(rèn)執(zhí)行。這時(shí),打開一個(gè)黑色的DOS窗口,提示是-可以輸入命令后-可以輸入a和enter,然后就可以輸入?yún)R編指令了。最后,按幾次回車鍵,彈出輸入
怎么才能讀懂匯編指令?
方法1。
開始運(yùn)行,輸入debug并確認(rèn)執(zhí)行。這時(shí),打開一個(gè)黑色的DOS窗口,提示是-可以輸入命令后-可以輸入a和enter,然后就可以輸入?yún)R編指令了。最后,按幾次回車鍵,彈出輸入?yún)R編語(yǔ)句的界面,返回-提示符號(hào)。這時(shí),您可以輸入u和enter來(lái)查看您剛才輸入的匯編指令我用這個(gè)方法來(lái)查看XOR ax。ax代碼的過(guò)程如下:
-A
0AFC:0100 xor斧,斧
0自動(dòng)售檢票機(jī):0102
-u
0自動(dòng)售檢票機(jī):0100 31C0XOR ax,ax
方法2。
請(qǐng)參閱CPU手冊(cè)。每個(gè)CPU都有相應(yīng)的機(jī)器代碼手冊(cè),其中規(guī)定了每個(gè)機(jī)器指令的編碼規(guī)則。
程序員該如何玩轉(zhuǎn)匯編指令?
實(shí)際上玩組裝真的意味著“拆卸”。
我學(xué)習(xí)了Z80匯編,51匯編,我寫了51超級(jí)反匯編disasm51,后來(lái)嵌入到hotisp。網(wǎng)上有。(我認(rèn)為它是最好的51個(gè)反匯編程序之一)
我學(xué)習(xí)了x86匯編程序和宏匯編程序,并使用了反匯編軟件。
學(xué)習(xí)PIC組裝和拆卸軟件。宏C語(yǔ)言HPL是由宏匯編而成的。
使用Keil C51進(jìn)行調(diào)試時(shí),您將在調(diào)試時(shí)看到(反匯編)說(shuō)明。
當(dāng)然,其他MCU、arm和DSP編譯軟件在調(diào)試時(shí)可以看到匯編指令。
所以,玩匯編,如果它有宏匯編,它會(huì)更有趣,它可以讓你感受到“發(fā)明語(yǔ)言”的樂(lè)趣
如下圖所示,我在1991年用DOS嵌入了它調(diào)試.com反匯編破解了美國(guó)福祿克公司CRC32保護(hù)軟件狗的截圖。當(dāng)時(shí)是用打印機(jī)打印反匯編部分代碼,然后粘貼在筆記本上。
那時(shí)候真的很難
我不知道你指的是哪種MCU。最常用的89C51系列單片機(jī)匯編語(yǔ)言有111條指令,可分為五類:
[1]。數(shù)據(jù)傳輸指令(共29條)
[2]。算術(shù)運(yùn)算指令(共24條)][3]。邏輯操作和移位指令(共24條)
[4]??刂妻D(zhuǎn)移指令(共17條)][5]。布爾變量運(yùn)算指令(共17條)]]JZ指令屬于第4類“控制傳輸類”中的條件傳輸指令。具體格式和功能如下:
jzrela=0,(PC)2rel→(PC),累加器中的內(nèi)容為0,
然后將其傳輸?shù)狡屏克赶虻牡刂?,否則程序?qū)⑦\(yùn)行下去。
JB是5類“布爾變量操作類”指令。其格式和功能如下:
jbbit,rel bit state為1轉(zhuǎn)換。
如何匯編JB指令?
指令集由二進(jìn)制數(shù)據(jù)堆棧組成,這是處理器可以執(zhí)行或理解的所有指令集。匯編語(yǔ)言是一種程序設(shè)計(jì)語(yǔ)言,為了方便人類操作指令集,人們發(fā)明了匯編語(yǔ)言來(lái)描述指令集。
指令集與匯編語(yǔ)言的區(qū)別?
單片機(jī)匯編的Da a指令為十進(jìn)制調(diào)整指令,與加法指令配合使用。在其他場(chǎng)合使用它是沒(méi)有意義的,甚至?xí)稿e(cuò)誤。例如,十進(jìn)制加法38 55=93的Da a指令組合為mov a、#38h a=38h add a、#55h a=38h 55h=8dh Da a=93h,調(diào)整后的Da a指令為93