微處理器處理指令與數據速度?算術運算指令分為二進制算術運算指令與BCD碼算術運算調整指令,下面我們就來說一說關于微處理器處理指令與數據速度?我們一起去了解并探讨一下這個問題吧!
算術運算指令分為二進制算術運算指令與BCD碼算術運算調整指令。
加法指令
1. ADD指令指令格式:ADD OPD,OPS
功能:(OPD) (OPS)→OPD
影響的标志位是:AF、OF、PF、SF、ZF、CF
ADD指令有下面5種具體格式:(同MOV)
ADD reg,reg ;例 ADD AX,BX 和 ADD EAX,EBX ADD reg,mem ;例 ADD AX,[ESI] 和 ADD EAX,[ESI] ADD mem,reg ;例 ADD [ESI],BX 和 ADD [ESI],EBX ADD reg,imm ;例 ADD AX,2 和 ADD EAX,22334455H ADD mem,imm ;例 ADD BYTE PTR [DI],3 和 ADD WORD ;PTR [ESI],1104H
例:
利用加法指令實現1位數值數據0~9和其對應的1位字符數據'0'~'9'的轉換。
查ASCII表可知字符數據‘0’~‘9’的ASCII為30H~39H,1位數值數據與它對應的字符數據之間的差為30H。(0的asc碼是48)
假定AL中存放了1位數值數據(0~9),指令ADD AL,30H可實現此轉換。
MOV AL,1 ADD AL,30H ;CF=0,SF=0,OF=0,ZF=0,PF=0
2. ADC指令(帶進位加法指令)指令格式:ADC OPD,OPS
功能:(OPD) (OPS) CF → OPD
影響的标志位是:AF、OF、PF、SF、ZF、CF
ADC指令也有5種具體格式,就是把ADD指令5種具體格式中的ADD換成ADC。
3. INC指令(加1指令)指令格式:INC OPD
功能:(OPD) 1→OPD
影響的标志位是:AF、OF、PF、SF、ZF
INC指令有下面2種具體格式:
INC reg ;例 INC AL、INC AX 和 INC EAX INC mem ;例 INC BYTE PTR [SI] 和 INC ;BYTE PTR [ESI]
減法指令
1. SUB指令指令格式:SUB OPD,OPS
功能:(OPD)-(OPS)→OPD
影響的标志位是:AF、OF、PF、SF、ZF、CF
SUB 指令也有5種具體格式:
2. SBB指令(帶借位減法指令)指令格式:SBB OPD,OPS
功能:(OPD)-(OPS)- CF → OPD
影響的标志位是:AF、OF、PF、SF、ZF、CF
SBB指令也有5種具體格式,就是把SUB指令5種具體格式中的SUB換成SBB。
例:
利用SUB和SBB指令,實現兩個64位二進制數相減。設被減數高、低32位分别存放在EAX和EBX中,減數的高、低32位分别存放在ECX和EDX中,假設(EAX)=99998888H,(EBX)=11112222H,(ECX)=22223333H,(EDX)=88881111H,相減的結果存于(EAX)和(EBX)中。主要程序如下:
SUB EBX,EDX ;(EBX)←(EBX)-(EDX),結果是
;CF=1, (EBX)=88891111H
SBB EAX,ECX ;(EAX)←(EAX)-(ECX)-CF,結
;果是CF=0,(EAX)=77775554H
3. DEC指令(減1指令)指令格式:DEC OPD
功能:(OPD)-1→OPD
影響的标志位是:AF、OF、PF、SF、ZF
DEC 指令有下面2種具體格式:
DEC reg ;例 DEC EAX
DEC mem ;例 DEC BYTE PTR [ESI]
4. CMP指令(比較指令)指令格式:CMP OPD,OPS
功能:(OPD)-(OPS)
影響的标志位是:AF、OF、PF、SF、ZF、CF
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!