xor指令怎么運(yùn)算 匯編語言XOR命令什么意思?
匯編語言XOR命令什么意思?異或異或,二進(jìn)制操作。可逆操作。1異或1=0,0異或0=0,1異或0=1,0異或1=1。異或B的運(yùn)算方法:將a和B轉(zhuǎn)換成二進(jìn)制數(shù),然后比較。如果每個(gè)數(shù)字上的0或1相同,則結(jié)
匯編語言XOR命令什么意思?
異或異或,二進(jìn)制操作??赡娌僮?。1異或1=0,0異或0=0,1異或0=1,0異或1=1。異或B的運(yùn)算方法:將a和B轉(zhuǎn)換成二進(jìn)制數(shù),然后比較。如果每個(gè)數(shù)字上的0或1相同,則結(jié)果將被視為0。如果不同,則取1。結(jié)果將轉(zhuǎn)換為原始二進(jìn)制數(shù),即結(jié)果。在OI中,它經(jīng)常用于位運(yùn)算。
匯編語言中xorlSrc,Dest是指什么?能舉個(gè)例子嗎?
Xorl是一種XOR操作。異或運(yùn)算的規(guī)則是:相同為0,不同為1。在本指令中,SRC是源,dest是目標(biāo)。指令的功能是:(SRC)XOR(dest),結(jié)果存儲(chǔ)在dest中。但一般來說,指令應(yīng)該寫成xorl DeST,SRC。例如:xorl,ax,ax是對(duì)ax的內(nèi)容和ax的內(nèi)容進(jìn)行異或運(yùn)算,因?yàn)檫@兩個(gè)數(shù)字是相同的,結(jié)果是0,即ax的內(nèi)容變?yōu)?。異或運(yùn)算可用于對(duì)特定位求反。
怎么才能讀懂匯編指令?
方法1。
開始運(yùn)行,輸入調(diào)試并確認(rèn)執(zhí)行。這時(shí),打開一個(gè)黑色的DOS窗口,提示是-可以輸入命令后-可以輸入a和enter,然后就可以輸入?yún)R編指令了。最后,按幾次回車鍵,彈出組合句輸入界面,返回-提示符號(hào)。這時(shí),您可以輸入u和enter來查看您剛才輸入的匯編指令輸入?yún)R編語句的機(jī)器代碼,我用這個(gè)方法來查看XOR ax,ax代碼的過程如下:
-A
0AFC:0100 xor斧,斧
0自動(dòng)售檢票機(jī):0102
-u
0自動(dòng)售檢票機(jī):0100 31C0XOR ax,ax
方法2。
咨詢CPU手動(dòng)。每個(gè)CPU都有相應(yīng)的機(jī)器代碼手冊(cè),其中規(guī)定了每個(gè)機(jī)器指令的編碼規(guī)則。
程序員該如何玩轉(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反匯編破解了美國福祿克公司CRC32保護(hù)軟件狗的截圖。當(dāng)時(shí)是用打印機(jī)打印反匯編部分代碼,然后粘貼在筆記本上。
那時(shí)候真的很難
方法一。使用邏輯非運(yùn)算指令(not指令,指令格式:not OPRD)對(duì)目標(biāo)操作數(shù)的所有位求反,例如ax,然后是not ax。方法2。使用異或指令(指令格式:XOR)OPRD1,oprd2,異或邏輯意味著如果兩個(gè)邏輯值不同,則輸出結(jié)果為真,如果相同,則輸出結(jié)果為假)。OPRD1、oprd2和XOR邏輯之間的一般區(qū)別在于,它們可以用來對(duì)特定位置求反