鱼C论坛

 找回密码
 立即注册
查看: 2250|回复: 11

求ax中的值

[复制链接]
发表于 2013-8-21 17:32:38 | 显示全部楼层 |阅读模式
2鱼币
求ax中的值

mov ax,0
push ax
popf
mov ax,0fff0h
add ax,0010h
pushf
pop ax
and al,11000101b
and ah,00001000b

最佳答案

查看完整内容

你解释的不错,我就在详细的说说吧EFL寄存器:都是标志位EFL标志位: mov ax,0 push ax popf mov ax,0fff0h add ax,0010h ;这之前只是为了改变 EFL寄存器,通过溢出的方式改变 pushf ;把溢出的是压入栈,在通过pop ax 把EFL寄存器的值放入ax中 pop ax ;下边的 与 运算就不用解释了! and al,11000101b and ah,00001000b
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-21 17:32:39 | 显示全部楼层
本帖最后由 佐少love 于 2013-8-22 12:34 编辑

你解释的不错,我就在详细的说说吧EFL寄存器:都是标志位

EFL标志位:


                               
登录/注册后可看大图

mov ax,0
push ax  
popf
mov ax,0fff0h
add ax,0010h  ;这之前只是为了改变 EFL寄存器,通过溢出的方式改变
pushf              ;把溢出的是压入栈,在通过pop ax 把EFL寄存器的值放入ax中
pop ax            ;下边的 与 运算就不用解释了!
and al,11000101b
and ah,00001000b  

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-21 18:02:00 | 显示全部楼层
mov ax,0fff0h
add ax,0010h
可以看出 ax已经溢出了
ax = 0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-21 18:11:36 | 显示全部楼层
测试结果是0045H

应该和标志寄存器有关
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-8-21 20:58:55 | 显示全部楼层
565123 发表于 2013-8-21 18:11
测试结果是0045H

应该和标志寄存器有关

你说的对,我就是不知道该怎么算,你能写出详细的步骤么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-21 21:22:00 | 显示全部楼层
测试结果是0045H

应该和标志寄存器有关

评分

参与人数 1鱼币 -1 收起 理由
565123 -1 不要复制答案

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-21 21:44:11 | 显示全部楼层
mov ax,0
push ax  
popf
mov ax,0fff0h
add ax,0010h //这步之后EFL=00000247
pushf
pop ax //这步之后ax=0247,下面的自己算吧。
and al,11000101b
and ah,00001000b

百度一下寄存器EFL,因为我看不懂,留给你自己看了。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-22 09:52:05 | 显示全部楼层
565123 发表于 2013-8-21 18:11
测试结果是0045H

应该和标志寄存器有关

ax 溢出
mov ax,fff0   ax = fff0
add aax,0010  ax = 0
and al,11000101 al = 00000000
amd ah,00001000 ah = 00000000
为什么我感觉是0 呢??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-22 10:29:06 | 显示全部楼层
pushf 标志寄存器入栈,你不知道标志寄存器的值是多少啊。标志寄存器都会默默的改变的,而pushf在pop ax就是把标志寄存器的值赋给ax,所以ax要查表才知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-22 13:33:19 | 显示全部楼层
佐少love 发表于 2013-8-22 12:32
你解释的不错,我就在详细的说说吧EFL寄存器:都是标志位EFL标志位: mov ax,0
push ax  
popf

是滴,求鱼币。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-24 11:50:08 | 显示全部楼层
...........................
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-29 03:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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