搜索
编程论坛
→
开发语言
→
『 汇编论坛 』
→ 我给大家出一道考试题。。。
标题:
我给大家出一道考试题。。。
只看楼主
cnhanxiao
等 级:
新手上路
威 望:
4
帖 子:124
专家分:0
注 册:2008-10-17
楼主
问题点数:0 回复次数:9
我给大家出一道考试题。。。
一个无符号数,存放在ax寄存器中。
要求:写一段程序,执行完这段程序后,如果ax=0,那么ax还为0,否则,ax=1。
[un]
前提:不许使用条件转移指令。
[/un]
收到的鲜花
zklhp
于
2008-11-13 13:43
送鲜花
50朵 附言:我很赞同
搜索更多相关主题的帖子:
考试
2008-11-13 12:18
cnhanxiao
等 级:
新手上路
威 望:
4
帖 子:124
专家分:0
注 册:2008-10-17
第
2
楼
得分: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
等 级:
新手上路
威 望:
4
帖 子:124
专家分:0
注 册:2008-10-17
第
3
楼
得分: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]]
收到的鲜花
zklhp
于
2008-11-13 13:44
送鲜花
50朵 附言:我很赞同
还有绑架成版主的?拒绝做版主——对不起啊!
2008-11-13 13:01
zklhp
来 自:china
等 级:
贵宾
威 望:
254
帖 子:11485
专家分:33241
注 册:2007-7-10
第
4
楼
得分:0
不错 学习了
2008-11-13 13:46
ruiquan765
来 自:广西梧州市
等 级:
新手上路
帖 子:23
专家分:0
注 册:2008-4-16
第
5
楼
得分:0
楼主,我想这样写似乎也行
cmp ax,0
jne L1 ;不相等则跳转(即不为0)
je L2 ;相等则跳转(去执行后面的程序)
L1:
mov ax,1
L2:
……
呵呵,交流一下
我身在江湖,江湖却没有关于我的传说……
2008-11-13 23:37
arsionbc
等 级:
新手上路
帖 子:11
专家分:0
注 册:2008-9-20
第
6
楼
得分:0
我的
cmp ax,1
setae al
2008-11-13 23:50
arsionbc
等 级:
新手上路
帖 子:11
专家分:0
注 册:2008-9-20
第
7
楼
得分:0
555,错了
楼上没看条件,我的错了
cmp ax,1
setae al
xor ah,ah
[[it] 本帖最后由 arsionbc 于 2008-11-14 00:04 编辑 [/it]]
2008-11-13 23:52
cnhanxiao
等 级:
新手上路
威 望:
4
帖 子:124
专家分:0
注 册:2008-10-17
第
8
楼
得分:0
回复 5# 的帖子
:) 不许使用条件转移指令——前提
还有绑架成版主的?拒绝做版主——对不起啊!
2008-11-14 00:24
win_pig
等 级:
新手上路
帖 子:11
专家分:0
注 册:2008-11-14
第
9
楼
得分:0
setnz ;80386指令
2008-11-14 01:16
win_pig
等 级:
新手上路
帖 子:11
专家分:0
注 册:2008-11-14
第
10
楼
得分:0
妙!!!
解题思路是利用ZF标志呵,
AX=0,ZF=1
AX/=0,ZF=0
ZF的值取反后赋予AX正符题意
楼主原解是基于8086的正解,
第一句的
TEST AX,AX
还可用
AND AX,AX
OR AX,AX
实现ZF
学习了。谢
2008-11-14 01:31
10
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-243991-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.220591 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved