| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4054 人关注过本帖
标题:[汇编] 输入字符比较大小
只看楼主 加入收藏
eternuii
Rank: 1
等 级:新手上路
威 望:1
帖 子:27
专家分:0
注 册:2014-10-22
结帖率:83.33%
收藏
已结贴  问题点数:18 回复次数:4 
[汇编] 输入字符比较大小
菜鸟求教~
要求用户输入单个字符 (比如+— */&¥ 等等),不是字符串哦。。。怎么读取这个字符额,,,

下面这个思路是不是完全不对?
要用到MOV AH,0AH INT 21H 嘛?

char message1[] = "Input a character: ";
char format [] = "%c";

char character;//假设用户只会输入+—*/中的某一个
_asm{
    lea eax, message1;
    push eax;
    call printf;
    add esp, 4;

    lea eax, character;
    push eax;
    lea eax, format;
    push eax;
    call scanf;
    add esp, 4;

    mov eax, character;
    cmp eax, 2Bh; //比较输入字符的asc码与+对应的asc码的大小
    je label1;
    jne label2;

    ...
    ...
}
return 0;
}
搜索更多相关主题的帖子: 用户 字符串 character 
2014-11-15 16:36
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:7 
用BIOS中断或者DOS中断获得用户的键盘输入,然后再进行判断。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2014-11-16 09:19
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:7 
既然是内联汇编 就完全无法用int 21h 来中断

DO IT YOURSELF !
2014-11-17 08:33
eternuii
Rank: 1
等 级:新手上路
威 望:1
帖 子:27
专家分:0
注 册:2014-10-22
收藏
得分:0 
回复 3 楼 wp231957
意思是内联汇编不能用与int相关的任何指令吗
2014-11-17 13:42
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
以下是引用eternuii在2014-11-17 13:42:49的发言:

意思是内联汇编不能用与int相关的任何指令吗
很多中断被操作系统屏蔽了的。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2014-11-17 15:54
快速回复:[汇编] 输入字符比较大小
数据加载中...
 
   



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

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