cmp是比較指令,cmp的功能相當于減法指令,只是不保存結(jié)果。那么,cmp指令對標志位的影響呢?佰佰安全網(wǎng)和您一起來看一下!
CMP指令是由美國斯坦福大學(xué)提出的,英文名稱是Chip multiprocessors,翻譯成中文就是單芯片多處理器,也指多核心其思想是將大規(guī)模并行處理器中的SMP(對稱多處理器)集成到同一芯片內(nèi),各個處理器并行執(zhí)行不同的進程。那么,cmp指令對標志位的影響呢?下面就讓佰佰安全網(wǎng)小編來介紹吧!
匯編test、cmp對標志位的影響
CMP比較指令使用寄存器Rn的值減去operand2的值,根據(jù)操作的結(jié)果影響新CPSR中相應(yīng)的條件標志位,以便后面的指令根據(jù)相應(yīng)的條件標志來判斷是否執(zhí)行。CMP指令與SUBS指令的區(qū)別在于CMP指令不保存運算結(jié)果。在進行兩個數(shù)據(jù)大小判斷時,常用CMP指令及相應(yīng)的條件碼來操作。
CMP指令的格式為CMP op1 op2用到的標志位有CF,ZF,OF,SF四個,對于兩個無符號數(shù)的情況,兩數(shù)相減不可能溢出了,看CF和ZF標志位就可以,如果ZF為1,說明結(jié)果是0,那不用說,兩數(shù)相等了(有符號數(shù)也是這樣),如果ZF為0,則如果CF為1,表示有借位,op1<op2,否則op1>op2。
對于有符號數(shù),就要看符號標志位SF和溢出標志位OF了,如果是兩個同號的數(shù),兩數(shù)相減也是不可能溢出的,OF一定為0,此時,如果SF為1,則表示op1<op2,否則op1>op2,如果是兩個異號的數(shù)相減,不溢出的情況跟上面的一樣(OF==0,SF==1?op1<op2:op1>op2)。
如果溢出了,則要分析一下,此時OF=1表示溢出,如果SF也為1,表示結(jié)果為負數(shù),假設(shè)op1為負數(shù),op2正數(shù),相減的結(jié)果為負數(shù),沒溢出,假設(shè)不成立,op1是整數(shù),op2是負數(shù),所以op1>op2,SF為0的情況可以同樣分析可得op1<op2。
以上便是小編為大家介紹的關(guān)于cmp指令對標志位的影響的一些內(nèi)容,希望對大家有所幫助哦!如果想要了解更多關(guān)于勞動安全的知識。請您多多關(guān)注佰佰安全網(wǎng)吧!
責(zé)任編輯:王秀娟
2021.12.14 21:19:27
2020.08.29 15:20:51
2020.03.20 02:08:02
2020.03.20 01:57:52
2020.03.20 01:06:14
2020.03.19 01:01:06
02/15著色劑與色素的區(qū)別
03/04交通標志牌是如何區(qū)分的?
03/07洗面奶防腐劑的作用及其危害
05/11中國綠色食品標志含義
12/19非法持有警用標志如何處罰?
02/06乳化劑和增稠劑的區(qū)別