试题详情
- 简答题简述比较处指令的含义。
-
CMPdst,src
CMP指令和SUB指令类似,也是执行两操作数相减,但和SUB指令不同的是,不送回相减结果,只是使结果影响标志位OF,SF,ZF,PF和CF。换句括说,由受影响的标志位状态便可判断两操作数比较的结果。
如何利用上述标志判断两操作数是否相等的关系呢?现设比较的两操作数为A和B:
(1)当两数相等(不管是无符号数或带符号数),则ZF=l,否则,ZF=0;
(2)若两数不相等,则应区分两数是无符号数还是带符号数:
①A和B均为无符号数:两个无符号数相减,CF就是借位标志。若CF=0,表示A-B无借位,则A>B;否则,当CF=l,有借位,则A<B;
②A和B均为带符号数,两个带符号数比较,将可能出现4种情况:
第一种情况:A>0,B>0(两正数比较):两正数相减,结果不会溢出,若结果的符号标志SF=0,则A>B;反之,结果的SF=l,则A<B;SF表示的是运算结果的符号位是正还是负,结果为负时,SF=1。
第二种情况:A<0,B<0(两负数比较):两负数相减,结果也不会溢出,这种情况下,仍然是SF=0,则A>B;反之,结果的SF=l,则A<B;
第三种情况:A>0,B<0(两异号数比较):显然,结果应该是A>B,而且这时应该有SF=0。例如:A=+50,B=-63,结果:A?/FONT>B=113=01110001<+127,不发生溢出,OF=0。
但如果A=+127,B=-63,比较结果是:
A.B=+127-(-63)==+190>+127,溢出,这时,机器中的结果为:
[+127]补=01111111B+[+63]补=00111111B
10111110B
SF=1,OF=1
因此,当结果发生溢出时,OF=1,应当SF=1才反映A>B。
第四种情况:A<0,B>0(两异号数比较):若A=-63,B=+50,显然A<B,比较结果:A-B=-113=10001111B,其SF=1,OF=0。
但若果A=-63,B=+127,比较结果是:A-B=-63-(+127)=-190<-128,溢出。
这时,在机器中的结果为:
[-63]补=11000001B+[-127]补=10000001B
10100010
SF=0,OF=1
因此,当结果发生溢出时,OF=1,应当SF=0,才反映A 关注下方微信公众号,在线模考后查看
热门试题
- 计算机能直接识别、理解和执行的程序是()
- 如图1所示,将8255的C端口接8个发光
- 已知(SP)=1000H,执行PUSH
- 8086 CPU的NMI引脚上输入的信号
- 简要概括中断工作过程的几个步骤。
- 静态RAM和动态RAM的存储元件分别是什
- 对8255A的控制口写入B0H,其端口C
- 8088CPU有()根地址引脚。
- 8086/8088微处理器内部有那些寄存
- 传送指令MOV BX,COUNT[SI]
- 为了识别键盘上的闭合键,通常采用哪两种方
- 简述8237A初始化编程的一般步骤?
- 总线规范一般包括哪些?分别做简要说明。
- 8086的基本总线周期有哪几种?
- 实现中断嵌套的条件是什么?优先权高的请求
- 试分别采用三种不同寻址方式的指令将偏移地
- 分析下列电路原理图,回答问题 要
- 两个无符号数2345H+3219H相加,
- Flynn分类法以什么内容为分类依据?
- 在计算机系统的层次结构中,机器语言位于第