時(shí)間:2019-08-26 15:58:27 作者:Bill 瀏覽量:43
匯編語言教程:語言組成
在這個(gè)社會(huì)發(fā)展,科技創(chuàng)新的時(shí)代,電腦已經(jīng)成為了我們生活中的一部分,因?yàn)閰R編指令系統(tǒng)巨大,因而需構(gòu)建指令系統(tǒng)體系,其指令數(shù)量巨大,格局雜亂,可記憶性差等。指令中最難的是指令所支撐的尋址方法,其實(shí)質(zhì)便是指令中操作數(shù)怎么獲取。對(duì)于處理器而言,便是怎么找到他所需的數(shù)據(jù)。但對(duì)于核算機(jī)底層的匯編語言而言,這種尋址方法將涉及很多的核算存儲(chǔ)格局,與 雜亂的存儲(chǔ)管理方法嚴(yán)密相關(guān),因而難以了解。最終,匯編指令還關(guān)系到怎么影響標(biāo)志位,但處理器標(biāo)志位非常雜亂,因而對(duì)其機(jī)制把握就比較困難。
匯編語言教程:語言組成圖1
傳送指令
包含通用數(shù)據(jù)傳送指令MOV、條件傳送指令CMOVcc、倉庫操作指令PUSH/PUSHA/PUSHAD/POP/POPA/POPAD、交流指令XCHG/XLAT/BSWAP、地址或段描述符挑選子傳送指令LEA/LDS/LES/LFS/LGS/LSS等。
匯編語言教程:語言組成圖2
邏輯運(yùn)算
這部分指令用于執(zhí)行算術(shù)和邏輯運(yùn)算,包含加法指令A(yù)DD/ADC、減法指令SUB/SBB、加一指令I(lǐng)NC、減一指令DEC、比較操作指令CMP、乘法指令MUL/IMUL、除法指令DIV/IDIV、符號(hào)擴(kuò)展指令CBW/CWDE/CDQE、十進(jìn)制調(diào)整指令DAA/DAS/AAA/AAS、邏輯運(yùn)算指令NOT/AND/OR/XOR/TEST等。
匯編語言教程:語言組成圖3
移位指令
這部分指令用于將寄存器或內(nèi)存操作數(shù)移動(dòng)指定的次數(shù)。包含邏輯左移指令SHL、邏輯右移指令SHR、算術(shù)左移指令SAL、算術(shù)右移指令SAR、循環(huán)左移指令ROL、循環(huán)右移指令ROR等。
匯編語言教程:語言組成圖4
位操作
這部分指令包含位測驗(yàn)指令BT、位測驗(yàn)并置位指令BTS、位測驗(yàn)并復(fù)位指令BTR、位測驗(yàn)并取反指令BTC、位向前掃描指令BSF、位向后掃描指令BSR等。
控制搬運(yùn)
這部分包含無條件搬運(yùn)指令JMP、條件搬運(yùn)指令Jcc/JCXZ、循環(huán)指令LOOP/LOOPE/LOOPNE、過程調(diào)用指令CALL、子過程返回指令RET、中斷指令I(lǐng)NTn、INT3、INTO、IRET等。
這部分指令用于對(duì)數(shù)據(jù)串進(jìn)行操作,包含串傳送指令MOVS、串比較指令CMPS、串掃描指令SCANS、串加載指令LODS、串保存指令STOS,這些指令能夠有挑選地使用REP/REPE/REPZ/REPNE和REPNZ的前綴以連續(xù)操作。
輸入輸出
這部分指令用于同外圍設(shè)備交流數(shù)據(jù),包含端口輸入指令I(lǐng)N/INS、端口輸出指令OUT/OUTS。