鱼C论坛

 找回密码
 立即注册
查看: 3179|回复: 3

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

[复制链接]
发表于 2012-10-30 20:19:38 | 显示全部楼层 |阅读模式
3鱼币
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个标志位显示的数据合在一起。 不知道这样理解对不对  有大牛可以在详细给个例子!   

最佳答案

查看完整内容

mov ax, 0 ;ax=0; push ax ;将ax压栈 popf ;将栈内容取到标志寄存器中 标志寄存器中和别的寄存器一样,只是它里面的一些位置上的值表示某些些东西而已,当然值可能不是0、1也可能是别的值,但是我们归定用0、1来表示某些状态,所以用0、1.不是本身就只有0、1...来自小菜之说...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-10-30 20:19:39 | 显示全部楼层
mov ax, 0   ;ax=0;
push ax      ;将ax压栈
popf          ;将栈内容取到标志寄存器中

标志寄存器中和别的寄存器一样,只是它里面的一些位置上的值表示某些些东西而已,当然值可能不是0、1也可能是别的值,但是我们归定用0、1来表示某些状态,所以用0、1.不是本身就只有0、1...来自小菜之说...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-10-31 18:14:07 | 显示全部楼层

16位的2进制信息。。。当然值可以随便换  但是我是根据上图所显示的那样 在2进制下 他也只有0和1 我没说转换16进制后不可以是别的值  还是很谢谢你 我已经差不多理解了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-11-21 22:26:39 | 显示全部楼层
还是不怎么明白
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-8 00:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表