②ADC
格式: ADC OPRD1,OPRD2
功能:ADC指令與ADD類似,不同之處在于兩個操作數相加時,還要加上進位標志CF的當前值,結果送原來存放目的操作數的地方。
說明:指令執行結果對標志值的影響與ADD相同。
③INC
格式: INC OPRD
功能:操作數OPRD加1。操作數可以是通用寄存器,也可為存儲器操作數。說明:該指令執行結果影響標志位SF、ZF、AF、PF和OF,而對CF無影響。④AAA
功能:AAA是未組合BCD碼加法調整指令
。它對在AL中兩個未組合的十進制數相加的結果進行校正,產生一個未組合的十進制和數。⑤DAA
功能:DAA為十進制加法調整指令。它對AL中兩個組合的十進制數相加的結果進行校正,產生一個組合的十進制和數。
(2)減法指令
①SUB
格式: SUB OPRD1,OPRD2
功能:完成兩個操作數相減,結果放在目的操作數OPRD1中。其規則與加法指令相同。
說明:SUB的執行結果影響標志位SF、ZF、AF、PF、CF和OF。
②SBB
格式: SBB OPRD1,OPRD2
功能:SBB指令與SUB基本相同,不同的是兩個操作數相減時,還要減去借位標志位CF的當前值。
③DEC
格式: DEC OPRD
功能:完成對操作數OPRD減1運算后返回操作數中。操作數可以是寄存器或存儲器。
說明:指令執行對標志位CF無影響,但影響標志位SF、ZF、AF、PF和OF。
④NEG
格式: NEG OPRD
功能:完成對操作數取補,即用零減去操作數,再把結果送回操作數。
說明:該指令執行結果影響標志位SF、ZF、AF、PF和OF,對于CF一般總是CF=1,只有當操作數為0時,CF=0。⑤CMP
格式: CMP OPRD1,OPRD2
功能:完成兩個操作數相減,但不回送結果,結果只影響狀態標志位。操作數規定與加法操作數相同。
CMP指令只比較兩個數的大小。若兩數相等,則ZF=1,否則ZF為0。若兩數不相等,則其大小的確定可利用CMP指令執行后的其他標志位來確定。例如,對于無符號數,可利用CF標志值來判斷。當CF=1時,則OPRD1OPRD2。對于有符號數,則用標志位SF和OF的狀態一同判定。
⑥AAS
功能:完成對在AL中的兩個未組合的十進制數相減的結果進行校正,在AL中產生一個正確的未組合十進制數的差。
⑦DAS
功能:完成對在AL中兩個未組合的十進制數相減以后的結果進行校正,在AL中產生一個正確的組合十進制數的差。
(3)乘法指令
①MUL
格式: MUL OPRD
功能:完成源操作數OPRD與累加器中的數相乘,結果放在累加器中。參與運算的操作數可以是寄存器或存儲器。乘積為單字節長時,放在AX中;乘積為雙字長時,分別存放在DX(乘積的高16位)和AX中。
說明:將內存單元FIRST和SECOND的兩個字節的內容相乘,乘積放在THIRD單元和下一個單元內。MUL指令運行結果只影響標志位CF和OF。
②IMUL
格式: IMUL OPRD
功能:IMUL指令為帶符號數相乘指令,即將源操作數與累加器中的數都作為帶符號數相乘,其余與MUL指令相同。
③AAM
功能:對在AX中兩個未組合的十進制數的乘積進行校正,以得到正確的未組合的十進制數的乘積。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |