| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4887 人关注过本帖
标题:【求助】怎么判断一个数是否是偶数啊 div 指令怎么用 T^T
只看楼主 加入收藏
eternuii
Rank: 1
等 级:新手上路
威 望:1
帖 子:27
专家分:0
注 册:2014-10-22
结帖率:83.33%
收藏
已结贴  问题点数:20 回复次数:5 
【求助】怎么判断一个数是否是偶数啊 div 指令怎么用 T^T
想要的效果是
Enter the number:
(用户input一个数后)
Output:
The number is odd 或者 The number is even

下面是我写的,红字是不会写的部分,div指令看王爽的《汇编语言》不甚明白 ps:我看书上说被除数是32位的,要把高16位放在dx里,低16位放在ax里,我这个input是int类型,应该是32位的吧?那我怎么把这个数的高十六位和低十六位分别赋给dx和ax啊,汇编要怎么写呢?pps:余数是在dx中吧,我拿dx和0比较来判断奇偶没问题吧?

// test.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"


int _tmain(int argc, _TCHAR* argv[])
{
     char message1[] = "Enter the number: ";
     char message2[] = "The number is even. ";
     char message3[] = "The number is odd.";
     char format[] = "%d";

     int input;
   
     _asm{
         lea eax, message1;
         push eax;
         call printf;
         add esp, 4;

         lea eax, input;
         push eax;
         lea eax, format;
         push eax;
         call scanf;
         add esp, 8;

         mov eax, input;
         mov bx, 2; //判断input是否为偶
         div bx;
         cmp dx, 0;
         je label1;
         jne label2;


  label1:lea eax, message2;
         push eax;
         call printf;
         add esp, 4;

  label2:lea, eax, message3;
         push eax;
         call printf;
         add esp, 4;
     }
    return 0;
}

搜索更多相关主题的帖子: include number Enter 用户 
2014-10-22 10:33
eternuii
Rank: 1
等 级:新手上路
威 望:1
帖 子:27
专家分:0
注 册:2014-10-22
收藏
得分:0 
错了  是紫色字是不会的部分 忘记改颜色了 = =
2014-10-22 10:34
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:20 
cdq         (固定)
mov eax,357 (待判断数值)
mov ecx,2   (固定)
idiv ecx    (固定)

此时把edx与0进行比较即可

[ 本帖最后由 wp231957 于 2014-10-22 11:14 编辑 ]

DO IT YOURSELF !
2014-10-22 11:12
eternuii
Rank: 1
等 级:新手上路
威 望:1
帖 子:27
专家分:0
注 册:2014-10-22
收藏
得分:0 
回复 3 楼 wp231957
先谢谢了。我去试一下
2014-10-22 13:44
eternuii
Rank: 1
等 级:新手上路
威 望:1
帖 子:27
专家分:0
注 册:2014-10-22
收藏
得分:0 
回复 3 楼 wp231957
成功了。太感谢!(果然是不知道cdq这个指令啊。。。)
2014-10-22 13:55
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
其实 如果仅仅判断奇偶数的话  对源数值进行  AND 1  操作貌似也可以,看c的编译器对模操作 都是优化成了and操作

DO IT YOURSELF !
2014-10-22 14:00
快速回复:【求助】怎么判断一个数是否是偶数啊 div 指令怎么用 T^T
数据加载中...
 
   



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

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