. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->标志寄存器
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  检测点11.4,帮帮我吧!!!  [待解决] 回复[ 3次 ]   点击[ 454次 ]  
lsmss
[帖 主]   [ 发表时间:2009-10-07 23:04 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-06-28 11:59
我实在搞不懂了,检测点11.4:

mov ax,0  
push ax 
popf    
mov ax,0fff0h  
add ax,0010h  
pushf         ;这里入栈的数据是0047h,这个0047h是怎么得来的????
pop ax 
and al,11000101b 
and ah,00001000b

谁能告诉我?
dasemimi
[第1楼]   [ 回复时间:2009-10-08 14:38 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-09-19 12:01
入站的时候是这样的,al 01000101    ah 00000000
mess
[第2楼]   [ 回复时间:2009-10-08 14:52 ]   [引用]   [回复]   [ top ] 
荣誉值:337
信誉值:0
注册日期:2008-01-01 17:48
mov ax,0   
push ax  ------两条指令实现把0入栈
popf ----------把出栈的值写入标志寄存器,即标志寄存器清零     

mov ax,0fff0h   
add ax,0010h --改变标志寄存器的值
  
pushf         --标志寄存器的值入栈 
pop ax        --把栈中的值写入ax中,即ax存放标志寄存器的值
and al,11000101b  
and ah,00001000b --清零ax值即标志寄存器的个别位
hdming88
[第3楼]   [ 回复时间:2009-10-12 22:22 ]   [引用]   [回复]   [ top ] 
荣誉值:6
信誉值:8
注册日期:2009-09-30 22:35
http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=book&kind=1012&qkSg=2&qID=29589&readSg=1
看这个帖子
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved