| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1398 人关注过本帖
标题:我给大家出一道考试题。。。
取消只看楼主 加入收藏
cnhanxiao
Rank: 2
等 级:新手上路
威 望:4
帖 子:124
专家分:0
注 册:2008-10-17
收藏
 问题点数:0 回复次数:3 
我给大家出一道考试题。。。
一个无符号数,存放在ax寄存器中。
要求:写一段程序,执行完这段程序后,如果ax=0,那么ax还为0,否则,ax=1。
[un]前提:不许使用条件转移指令。[/un]
收到的鲜花
  • zklhp2008-11-13 13:43 送鲜花  50朵   附言:我很赞同
搜索更多相关主题的帖子: 考试 
2008-11-13 12:18
cnhanxiao
Rank: 2
等 级:新手上路
威 望:4
帖 子:124
专家分:0
注 册:2008-10-17
收藏
得分:0 
答案:

TEST    AX,0FFFFh   ;测试AX寄存器有没有哪位是1,有,则肯定>0
LAHF                ;取标志寄存器到AH
AND     AX,4000h    ;屏蔽除ZF以外所有位
SHR     AX,0Eh      ;移动ZF位到第0位
XOR     AX,1        ;取反第0位(注意ax>0,ZF=0,所以取反)

—— 一位网友非这样要求,绞尽脑汁写出来了,不知还有没有好的办法?

还有绑架成版主的?拒绝做版主——对不起啊!
2008-11-13 12:23
cnhanxiao
Rank: 2
等 级:新手上路
威 望:4
帖 子:124
专家分:0
注 册:2008-10-17
收藏
得分:0 
网友Mr.Y提点,更简练的方式:
test ax,ax
setnz al
and  ax,0001h 或者 xor ah,ah

推而广之:
test eax,eax
setnz al
and eax,1

对8位而言:
test al,al
setnz al

[[it] 本帖最后由 cnhanxiao 于 2008-11-13 13:12 编辑 [/it]]
收到的鲜花
  • zklhp2008-11-13 13:44 送鲜花  50朵   附言:我很赞同

还有绑架成版主的?拒绝做版主——对不起啊!
2008-11-13 13:01
cnhanxiao
Rank: 2
等 级:新手上路
威 望:4
帖 子:124
专家分:0
注 册:2008-10-17
收藏
得分:0 
回复 5# 的帖子
:)  不许使用条件转移指令——前提

还有绑架成版主的?拒绝做版主——对不起啊!
2008-11-14 00:24
快速回复:我给大家出一道考试题。。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011881 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved