destiny 发表于 2012-10-30 20:19:38

pushf与popf的疑惑,求大牛解释!

mov ax, 0
push ax
popf
这句话的意思是不是 把所有标致寄存器的值都赋值为 0 ?

那么pushf是不是将标志位的值压入栈中

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OF DF IFTF SF ZF AF PF CF
0 0 0 0 1 1 1 1 1 1 01 0 1 0 1


第一行是显示16位
第二行是各类标志位
pushf的功能是将标致寄存器的值压栈,popf是从栈中弹出数据送入标致寄存器。
我该如何理解证据话的意思!
有大牛详细解释下最好带个例子! 视频中也是匆匆一句话 没有例子叫人完全理解不了

在这里写下自己的想法:标志寄存器就是我上面那个表格里。是不是他本身0-15位就是一个数据呢?
其他位没学过就直接用0了,学过的我直接用1。。 这16个标志位合起来就是标志寄存器标志寄存器本身的值就是他0到15个标志位显示的数据合在一起。 不知道这样理解对不对有大牛可以在详细给个例子!   

卐憡朙 发表于 2012-10-30 20:19:39

mov ax, 0   ;ax=0;
push ax      ;将ax压栈
popf          ;将栈内容取到标志寄存器中

标志寄存器中和别的寄存器一样,只是它里面的一些位置上的值表示某些些东西而已,当然值可能不是0、1也可能是别的值,但是我们归定用0、1来表示某些状态,所以用0、1.不是本身就只有0、1...来自小菜之说...

destiny 发表于 2012-10-31 18:14:07

卐憡朙 发表于 2012-10-30 21:22 static/image/common/back.gif
mov ax, 0   ;ax=0;
push ax      ;将ax压栈
popf          ;将栈内容取到标志寄存器中


16位的2进制信息。。。当然值可以随便换但是我是根据上图所显示的那样 在2进制下 他也只有0和1 我没说转换16进制后不可以是别的值还是很谢谢你 我已经差不多理解了

修心 发表于 2012-11-21 22:26:39

还是不怎么明白
页: [1]
查看完整版本: pushf与popf的疑惑,求大牛解释!