应当选D
因为你把-68和86转换成二进制(应该回哦)
算出结果后观察,最高位有借位所以CF=1,最高位为1。所以SF=1,OF是否溢出要看次高位向符号位的借位(既CS)和符号位向更高位的借位(CS+1)。当CS=CS+1的时候没有溢出,否则就有溢出。溢出的时候就位1。这题算出来CS不等于CS+1,所以OF=1。ZF是当结果等于0的时候,ZF=1,这题明显结果不等于0,所以结果应当为CF=0
错误的首先是(d) zf=1。
zf=1表达的意义是运算结果为0,而实际上,-68-86,肯定是不为0的。
其它,也有错误。
难道是多项选择题?
debug发现cf=0,sf=0,of=1,zf=0.
把我也搞晕了,想不通cf为什么=0.
同求高手详细的讲解。
每进行一次压栈操作SP的值减2,这里进行了3次压栈操作所以SP的值减6,因为50H
是
十六进制数
所以减6后值为4AH。即SP=4AH
(1)执行指令push
ax后sp=1ffeh
(2)再执行push
bx及pop
ax后sp=1ffeh,ax=5000h,
bx=5000h