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