试分析下列程序段:请选择(L1、L2、L3或L4)填入相应的括弧中

试分析下列程序段:请选择(L1、L2、L3或L4)填入相应的括弧中

ADD        AX, BX

JNO        L1

JNC        L2

JS         L3

JMP        SHORT  L4

如果AX=147BH、BX=147BH时,程序转向(①);

如果AX=B568H、BX=42C8H时,程序转向(②);

如果AX=42C8H、BX=608DH时,程序转向(③)。

先看判断条件

JNO:OF=0,当两个操作数符号相同但结果相反时OF=1,否则OF=0
JNC:CF=0,代表最高有效位没有进位
JS :SF=1,代表结果为负

四个标志位SF,ZF,OF,CF

1478+1478 很明显可以知道首位<8所以结果必为正数,所以OF=0,满足第一个条件。十六进制数正负的判断
B568+42C8,一正一负,OF=0,直接满足第一个条件
42C8+608D,结果首位>8,说明是负数,两个正数相加得负数,OF=1,不满足第一个条件。4+6=10<16,说明没有进位,CF=0,满足第二个条件。

发布了215 篇原创文章 · 获赞 160 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/z2431435/article/details/105490735