汇编语言 标志寄存器 状态位的问题: MOV AX,34C5H ADD AX,546AH解:0011010011000101 0101010001101010------------------------------------- 1000100100101111答案是:CF:0;SF:1;ZF:0;AF 0;OF 1;PF:0;CF,SF,Z
来源:学生作业帮助网 编辑:六六作业网 时间:2025/01/24 14:35:03
汇编语言 标志寄存器 状态位的问题: MOV AX,34C5H ADD AX,546AH解:0011010011000101 0101010001101010------------------------------------- 1000100100101111答案是:CF:0;SF:1;ZF:0;AF 0;OF 1;PF:0;CF,SF,Z
汇编语言 标志寄存器 状态位的问题: MOV AX,34C5H ADD AX,546AH
解:0011010011000101
0101010001101010
-------------------------------------
1000100100101111
答案是:CF:0;SF:1;ZF:0;AF 0;OF 1;PF:0;
CF,SF,ZF,PF都好理解:CF,由于没有存在进位的情况,所以为0 ;SF由于跟最高位相同,所以为1;ZF由于结果不为零,所以为0;PF由于低8位1的个数为5,为奇数,所为为0.
但是OF跟AF难以理解——结果也没有溢出啊?AF,应该在低字节向高节有进位的,但却为1.是不是搞反了?
汇编语言 标志寄存器 状态位的问题: MOV AX,34C5H ADD AX,546AH解:0011010011000101 0101010001101010------------------------------------- 1000100100101111答案是:CF:0;SF:1;ZF:0;AF 0;OF 1;PF:0;CF,SF,Z
of是溢出标志,是真对有符号数而言.所有的计算都认为是有符号数,由于次高位与最高位的进位不一样所以溢出,但编程时应该知道,假如它是无符号数,用CF判断有无进位,OF就没有意义
af是辅助进位标志,是低4位向高4位有进位时为1,这里没有进位就是0