彙編算術運算類指令集合
阿新 • • 發佈:2018-12-23
加法
加1指令INC
- INC OPD
- 將目的運算元加1
- (OPD)+1---->OPD
不帶進位的加指令ADD
- ADD OPD,OPS
- 將目的運算元與源運算元相加,將結果存入目的地址中,源地址的內容不變。
- (OPD)+(OPS)---->OPD
帶進位加指令ADC
- ADC OPD,OPS
- 將目的運算元加源運算元再加低位進位,結果送目的地址。
- (OPD)+(OPS)+CF---->OPD
減法
減1指令DEC
- DEC OPD
- 將目的運算元減1,結果送入目的地址。
- (OPD)-1---->OPD
不帶借位的減指令SUB
- SUB OPD,OPS
- 目的運算元減源運算元,結果存於目的地址,源地址內容不變。
- (OPD)-(OPS)---->OPD
帶借位減指令SBB
- SBB OPD,OPS
- 目的運算元減源運算元再減低位借位CF,結果送入目的地址。
- (OPD)-(OPS)-CF---->OPD
求補指令NEG
- NEG OPD
- 將目的運算元的每一位求反(包括符號位)後加1,結果送目的地址(將零減去指定的8位或16位目的運算元,並將結果送回目的運算元單元)。
- (OPD)(求反)+1---->OPD
比較指令CMP
- CMP OPD,OPS
- 目的運算元減源運算元,結果隻影響標誌位,不送入目的地址,即只進行(OPD)-(OPS)操作。
乘法
無符號數乘法指令MUL
- MUL OPS
- 若是位元組數相乘,(AL)與OPS相乘得到字資料存入AX中;若是字資料相乘,則(AX)與OPS相乘得到雙字資料,高字存入DX,低字存入AX中。其中,OPS為暫存器或儲存單元。
- 位元組乘法:(AL)*(OPS)---->AX
- 字乘法:(AX)*(OPS)---->DX,AX
有符號乘法指令IMUL
- IMUL OPS
- 位元組乘法功能指令為(AX)*(OPS)---->AX
- 字乘法功能指令為(AX)*(OPS)---->DX,AX
除法
無符號除指令DIV
- DIV OPS
- 位元組除法功能指令為(AX)/(OPS)---->AL(商),AH(餘數)
- 字除法功能指令為(DX、AX)/(OPS)---->AX(商),DX(餘數)
- 其中OPS為暫存器或儲存單元
有符號數除指令IDIV
- IDIV OPS
- 位元組除法功能指令為(AX)/(OPS)---->AL(商),AH(餘數)
- 字除法功能指令為(DX、AX)/(OPS)---->AX(商),DX(餘數)
符號擴充套件指令
位元組轉換成字指令CBW
- CBW
- 將AL中的符號位資料擴充套件至AH。若AL的最高位為1,則把FFH存入AH,否則把00H存入AH。
- 在執行IMUL或IDIV指令之前,該指令可用於擴充套件AL的內容。
字轉換成雙字指令CWD
- CWD
- 將AX中的符號位資料擴充套件至DX。若AX最高位為1,則把FFFFH存入DX,否則把0000H存入DX.
- 在執行IDIV指令之前用於擴充套件AX的內容。