汇编语言中的条件指令有哪些 汇编中的常见指令有哪些

\u6c47\u7f16\u4e2d\u5e38\u7528\u7684\u5224\u65ad\u6761\u4ef6\u8bed\u53e5\u7684\u6307\u4ee4\u6709\u54ea\u4e9b\uff1f

\u6761\u4ef6\u8f6c\u79fb\u6307\u4ee4\u5206\u4e09\u5927\u7c7b\uff1a\u57fa\u4e8e\u65e0\u7b26\u53f7\u6570\u7684\u6761\u4ef6\u8f6c\u79fb\u6307\u4ee4\u3001\u57fa\u4e8e\u6709\u7b26\u53f7\u6570\u7684\u6761\u4ef6\u8f6c\u79fb\u6307\u4ee4\u548c\u57fa\u4e8e\u7279\u6b8a\u7b97\u672f\u6807\u5fd7\u4f4d\u7684\u6761\u4ef6\u8f6c\u79fb\u6307\u4ee4\u3002

\u4e00\u3001\u65e0\u7b26\u53f7\u6570\u7684\u6761\u4ef6\u8f6c\u79fb\u6307\u4ee4(Jumps
Based
on
Unsigned
(Logic)
Data)































\u6307\u4ee4\u7684\u52a9\u5fc6\u7b26
\u68c0\u6d4b\u7684\u8f6c\u79fb\u6761\u4ef6
\u529f\u80fd\u63cf\u8ff0

JE/JZ
ZF=1
Jump
Equal
or
Jump
Zero

JNE/JNZ
ZF=0
Jump
Not
Equal
or
Jump
Not
Zero

JA/JNBE
CF=0
and
ZF=0
Jump
Above
or
Jump
Not
Below
or
Equal

JAE/JNB
CF=0
Jump
Above
or
Equal
or
Jump
Not
Below

JB/JNAE
CF=1
Jump
Below
or
Jump
Not
Above
or
Equal

JBE/JNA
CF=1
or
AF=1
Jump
Below
or
Equal
or
Jump
Not
Above

\u4e8c\u3001\u6709\u7b26\u53f7\u6570\u7684\u6761\u4ef6\u8f6c\u79fb\u6307\u4ee4(Jumps
Based
on
Signed
(Arithmetic)
Data)































\u6307\u4ee4\u7684\u52a9\u5fc6\u7b26
\u68c0\u6d4b\u7684\u8f6c\u79fb\u6761\u4ef6
\u529f\u80fd\u63cf\u8ff0

JE/JZ
ZF=1
Jump
Equal
or
Jump
Zero

JNE/JNZ
ZF=0
Jump
Not
Equal
or
Jump
Not
Zero

JG/JNLE
ZF=0
and
SF=OF
Jump
Greater
or
Jump
Not
Less
or
Equal

JGE/JNL
SF=OF
Jump
Greater
or
Equal
or
Jump
Not
Less

JL/JNGE
SF\u2260OF
Jump
Less
or
Jump
Not
Greater
or
Equal

JLE/JNG
ZF=1
or
SF\u2260OF
Jump
Less
or
Equal
or
Jump
Not
Greater

\u4e09\u3001\u7279\u6b8a\u7b97\u672f\u6807\u5fd7\u4f4d\u7684\u6761\u4ef6\u8f6c\u79fb\u6307\u4ee4(Jumps
Based
on
Special
Arithmetic
Tests)







































\u6307\u4ee4\u7684\u52a9\u5fc6\u7b26
\u68c0\u6d4b\u7684\u8f6c\u79fb\u6761\u4ef6
\u529f\u80fd\u63cf\u8ff0

JC
CF=1
Jump
Carry

JNC
CF=0
Jump
Not
Carry

JO
OF=1
Jump
Overflow

JNO
OF=0
Jump
Not
Overflow

JP/JPE
PF=1
Jump
Parity
or
Jump
Parity
Even

JNP/JPO
PF=0
Jump
Not
Parity
or
Jump
Parity
Odd

JS
SF=1
Jump
Sign
(negative)

JNS
SF=0
Jump
No
Sign
(positive)


无符号数条件转移指令
je/jz zf=1 若相等或为零则转移
jne/jnz zf=0 若不相等或不为零则转移
ja/jnbe cf=0 and zf=0 若高于或不低于等于则转移
jae/jnb cf=0 若大于等于或不低于则转移
jb/jnae cf=1 and zf=0 若小于或不大于等于则转移
jbe/jna cf=1 若小于等于或不大于则转移
有符号数条件转移指令
je/jz zf=1 若相等或为零则转移
jne/jnz zf=0 若不相等或不为零则转移
jg/jnle sf=of and zf=0 若大于或不小于等于则转移
jge/jnl sf=of 若大于等于或不小于则转移
jl/jnge sf!=of 若小于或不大于等于则转移
jle/jng sf!=of or zf=1 若小于等于或不大于则转移
特殊算数标志位的条件转移指令
jc cf=1 若有进位则转移
jnc cf=0 若无进位则转移
jo of=1 若有溢出则转移
jno of=0 若无溢出则转移
jp/jpe pf=1 若有偶数个1 则转移
jnp/jpo pf=0 若有奇数个1 则转移
js sf=1 若为负数则转移
jns sf=0 若为正数则转移

  • 姹囩紪 閲岀殑near 鍜宖ar鏈変粈涔堢敤鍟?
    绛旓細濡傛灉鐢ㄦ埛鐨勫瓙绋嬪簭鍜屼富绋嬪簭涓嶅湪涓涓浠g爜娈碉紝鍒欎娇鐢╢ar锛岃皟鐢ㄥ彂鐢熷悗锛屼富绋嬪簭鍫嗘爤涓皢鍘嬪叆cs銆乮p鍊笺備妇渚嬶細call 涓涓猲ear杩囩▼锛屽彧鎶婂亸绉诲湴鍧鍘嬪叆鍫嗘爤锛岃繃绋嬭繑鍥炴椂鐢╮etn杩斿洖 call涓涓猣ar杩囩▼锛屾妸鍋忕Щ鍦板潃鍜屾鍦板潃鍏ユ爤锛岃繃绋嬭繑鍥炴椂鐢╮etf杩斿洖 鍦ㄨ繃绋涓殑ret鎸囦护鏍规嵁near鍜宖ar鐨勪笉鍚岋紝鍒嗗埆缂栬瘧鎴恟etn鍜 retf...
  • 姹囩紪璇█涓JLE鏄粈涔堟剰鎬
    绛旓細杩欐槸鏉′欢杞Щ鎸囦护锛孡鏄痩ow锛堜綆鐨勶級E鏄痚quit锛堢浉绛夌殑锛夛紝姣斿 cmp a 锛宐锛屽悗闈㈠啀鎺LE锛屽鏋渁<=b鐨勮瘽锛屽氨璺宠浆鍒板埆鐨勫懡浠涓
  • 姹囩紪璇█涓,cmp鎸囦护鎬庝箞鐢?姣斿cmp ax,bx ax澶т簬bx鎬庝箞璺宠浆,灏忎簬鍙堟 ...
    绛旓細鏍煎紡锛欳MP OPR1 , OPR2.鎵ц鎿嶄綔锛氾紙OPR1锛-锛圤PR2锛夊姛鑳斤細璇鎸囦护涓嶴UB鎸囦护涓鏍锋墽琛屽噺娉曠殑鎿嶄綔锛屼絾瀹冨苟涓嶄繚瀛樿繍绠楃粨鏋滐紝鍙槸鏍规嵁缁撴灉璁剧疆鐩稿叧鐨勬潯浠鏍囧織浣嶏紙SF銆乑F銆丆F銆丱F锛夈侰MP鎸囦护鍚庡線寰璺熺潃鏉′欢杞Щ鎸囦护锛屽疄鐜版牴鎹瘮杈冪殑缁撴灉浜х敓涓嶅悓鐨绋嬪簭鍒嗘敮鐨勫姛鑳姐
  • 姹姹囩紪璇█鐨鎵鏈鎸囦护?
    绛旓細鍔熻兘: 绉讳綅鎸囦护 璇硶: SHR r/m,data/CL SHL r/m,data/CL SAR r/m,data/CL SAL r/m,data/CL 褰卞搷鏍囧織: C,P,Z,S,O ROR,ROL,RCR,RCL 鍔熻兘: 寰幆绉讳綅鎸囦护 璇硶: ROR r/m,data/CL ROL r/m,data/CL RCR r/m,data/CL RCL r/m,data/CL 褰卞搷鏍囧織: C,P,Z,S,O 绋嬪簭娴佺▼鎺у埗...
  • 姹囩紪璇█鎸囦护澶у叏,瑕佽缁嗙殑 !!!
    绛旓細鏈浣崇瓟妗圛BM-PC姹囩紪璇█鎸囦护闆 鏁版嵁浼犻佹寚浠ら泦 MOV 鍔熻兘: 鎶婃簮鎿嶄綔鏁伴佺粰鐩殑鎿嶄綔鏁 璇硶: MOV 鐩殑鎿嶄綔鏁,婧愭搷浣滄暟 鏍煎紡: MOV r1,r2 MOV r,m MOV m,r MOV r,data XCHG 鍔熻兘: 浜ゆ崲涓や釜鎿嶄綔鏁扮殑鏁版嵁 璇硶: XCHG 鏍煎紡: XCHG r1,r2 XCHG m,r XCHG r,m PUSH,POP 鍔熻兘: 鎶婃搷浣滄暟鍘嬪叆鎴...
  • JC 鍦姹囩紪璇█涓浠涔堟剰鎬
    绛旓細JC锛欽umpifCarry锛堟湁杩沚ai浣嶃佸嵆CF锛1锛屽垯璺宠浆锛夈侸C 鍦姹囩紪璇█鏄竴涓鏉′欢杞Щ鎸囦护鐨勬搷浣滅爜 鍚庨潰搴旇鍐嶅姞涓婁竴涓瓧鑺傜殑鍋忕Щ閲 鍗宠杞Щ鍒板湴鍧锛堜负鎿嶄綔鏁帮級锛屼緥濡 JC LLLA 锛涘叾涓 JC 涓烘搷浣滅爜 琛ㄧず鎸囦护瑕佹墽琛岀殑鍔熻兘銆侸 琛ㄧず杞Щ C琛ㄧず杞Щ鍒版潯浠 锛堝綋杩涗綅鏍囧織C=1 鍗虫湁杩涗綅鏃 杞Щ 鍚﹀垯涓嶈浆绉...
  • 缂栬瘧鍘熺悊
    绛旓細(2)鏉′欢缂栬瘧鎸囦护,濡#ifdef,#ifndef,#else,#elif,#endif绛夈傝繖浜涗吉鎸囦护鐨勫紩鍏ヤ娇寰绋嬪簭鍛樺彲浠ラ氳繃瀹氫箟涓嶅悓鐨勫畯鏉ュ喅瀹氱紪璇戠▼搴忓鍝簺浠g爜杩涜澶勭悊銆傞缂栬瘧绋嬪簭灏嗘牴鎹湁鍏崇殑鏂囦欢,灏嗛偅浜涗笉蹇呰鐨勪唬鐮佽繃婊ゆ帀(3) 澶存枃浠跺寘鍚寚浠,濡#include "FileName"鎴栬#include <FileName>绛夈傚湪澶存枃浠朵腑涓鑸敤浼寚浠#define瀹氫箟浜...
  • ce鏈夊摢浜涙寚浠
    绛旓細3. 鍙﹀杩樻湁璺宠浆鎸囦护锛堝JMP锛夛紝瀹冨厑璁哥▼搴忔棤鏉′欢鍦拌浆绉诲埌鎸囧畾鐨勫唴瀛樺湴鍧鎴栧瘎瀛樺櫒涓殑鍦板潃鎵ц浠g爜銆傝繖绉嶆寚浠ゅ父鐢ㄤ簬鏀瑰彉绋嬪簭鐨勬墽琛屾祦绋嬶紝瀹炵幇绋嬪簭鐨勬ā鍧楀寲銆傝В閲婏細鍦姹囩紪璇█涓锛孋E锛堝彲鑳芥槸鏌愮鐗瑰畾姹囩紪鍣ㄧ殑缂╁啓鎴栫壒瀹氳澧冧笅鐨勬湳璇級鍖呭惈浜嗗绉嶆寚浠わ紝杩欎簺鎸囦护鐢ㄤ簬鎺у埗璁$畻鏈虹‖浠舵墽琛岀壒瀹氱殑鎿嶄綔銆傝繖浜涙寚浠ゅ彲浠...
  • ,杩欎釜鏄姹囩紪璇█鐨闂,鏉′欢杞Щ鎸囦护,
    绛旓細鐜板湪姣斿al = 0, bl = 0f0h;cmp al, bl 涓婇潰杩欎釜姣旇緝锛屾槸鎶婂畠浠綋鎴愭湁绗﹀彿鏁版瘮杈冿紝杩樻槸褰撴垚鏃犵鍙锋暟姣旇緝鍛紵CPU鏄笉鐭ラ亾鐨勶紝瑕佺敱浣犺嚜宸辩敤鎺ヤ笅鏉ョ殑璺宠浆鎸囦护鏉ュ憡璇塁PU銆傛瘮濡傦細cmp al, bl jg Exit 璇存槑浣犳槸鎶婂畠浠綋鎴愭湁绗﹀彿鏁版潵姣旇緝鐨勩傝宑mp al, bl ja Exit 璇存槑浣犳槸鎶婂畠浠綋鎴愭棤绗﹀彿鏁版潵鍋...
  • 姹囩紪璇█閲jc鎸囦护鏃跺暐鎰忔
    绛旓細杩欐绋嬪簭娌℃湁浠讳綍鎰忎箟锛屼粎浠呬綔涓虹ず渚嬪搱銆傘傘傜浉鍚岀殑鎸囦护杩樻湁锛欽NC锛屽綋CF=0鏃惰烦杞紱JZ锛屽綋ZF=1鏃惰烦杞紝JNZ锛屽綋ZF=0鏃惰烦杞紱JO锛屽綋OF=1鏃惰烦杞紝JNO锛屽綋OF=0鏃惰烦杞紱JP锛屽綋PF=1鏃惰烦杞︹︿緷姝ょ被鎺紝鏍囧織瀵勫瓨鍣ㄧ殑鍚勪釜浣嶅熀鏈笂閮藉彲浠ョ敤鏉ュ仛鈥滄潯浠惰烦杞鐨勬潯浠銆傚綋鐒讹紝鏉′欢璺宠浆涓嶄粎浠呮槸鏍囧織瀵勫瓨鍣ㄤ綅...
  • 扩展阅读:汇编语言条件跳转指令 ... 汇编语言条件转移指令 ... 汇编语言指令大全 ... 汇编语言伪指令有哪些 ... 汇编指令大全一览表 ... 汇编语言代码对照表 ... 汇编语言自减指令 ... 汇编语言菜鸟教程 ... 汇编语言显示指令 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网