汇编语言里jc指令时啥意思

汇编语言里jc指令时啥意思,第1张

JC=Jump if Carry

当运算产生进位标志时,即CF=1时,跳转到目标程序处.

例如:

add al,bl

jc carrybit

inc al如果al+bl产生了进位,这一句就不执行了.

carrybit:

neg al

这段程序没有任何意义,仅仅作为示例哈.

相同的指令还有:

JNC,当CF=0时跳转;

JZ,当ZF=1时跳转,JNZ,当ZF=0时跳转;

JO,当OF=1时跳转,JNO,当OF=0时跳转;

JP,当PF=1时跳转……

依此类推,标志寄存器的各个位基本上都可以用来做“条件跳转”的条件.

当然,条件跳转不仅仅是标志寄存器位,还可以是CX

如:

a_loop:

do something

dec cx

jcxz

jmp a_loop

可以看出,这一段相当于一个loop指令.

还有,用于大小判断型的:

cmp op1,op2

JXX XXXX

其中JXX有以下几种:

JA表示op1>op2,JNA表示op1

JC是判断C进位标志是否为1,为1则跳转到指定位置。

JC指令判断有借位则转移,也就是说两数相减为负转移。JBC指令判断该位为1则转移,同时将该位置0。

条件转移指令只能转移到离本指令-128~+127字节范围内,是一种相对转移形式,当要往较远单元地址条件转移时,可以在本指令-128~+127字节范围内安排一条无条件转移指令作为中转指令即可。在使用简单条件跳转指令时,必须明确相应标志位的变化。

扩展资料:

简单条件跳转指令:

1、JC      目的地址     进位标志位CF=1,转移

2、JNC   目的地址     进位标志位CF=0,转移

3、JZ      目的地址     零标志位ZF=1,转移

4、JNZ    目的地址    零标志位ZF=0,转移

5、JS      目的地址    符号标志SF=1,转移

5、JNS   目的地址    符号标志SF=0,转移

6、JO     目的地址    溢出标志OF=1,转移

7、JNO   目的地址    溢出标志OF=0,转移

8、JP      目的地址    奇偶标志PF=1,转移

9、JNP    目的地址    奇偶标志PF=0,转移

10、JCXZ  目的地址    CX=0,转移

参考资料来源:百度百科-条件转移指令


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11199131.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存