| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付赛孚耐:软件保护加密专家
身份认证令牌USB KEY   
共有 1589 人关注过本帖
标题:汇编程序CMP指令的用法问题
收藏  订阅  推荐  打印 
djl344066722
Rank: 1
等级:新手上路
帖子:1
积分:110
注册:2007-5-17
汇编程序CMP指令的用法问题

CMP有很多比较我很是不明白,希望那位大虾教教我
比如说:CMP DL,39H 为什么和39h比较那,39h又是什么,这样有什么用?
然后如果大于顺序执行,小于者跳转,加7那?比如说最下面那几行,如果小于的话,就不会跳转到输出函数L2那么即使加7又有什么用那?
参考程序如下(输入一个字符,以十六进制形式显示它的ASCII码)

.MODEL SMALL
.CODE
ASC PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AH,1
INT 21H
MOV DL,AL
MOV BL,AL
MOV CL,4
SHR DL,CL
ADD DL,30H
CMP DL,39H
JLE L1
ADD DL,07H
L1: MOV AH,2
INT 21H
MOV DL,BL
AND DL,0FH
ADD DL,30H
CMP DL,39H
JLE L2
ADD DL,7
L2: MOV AH,2
INT 21H
RET
ASC ENDP
END ASC
搜索更多相关主题的帖子: CMP  汇编程序  指令  用法  MOV  
2007-5-17 18:34
菜鸟上路
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:14
帖子:1120
积分:11366
注册:2006-3-21

39就是字符'9',当然和39H比较啦,16进制不是分为0-9和A-F吗!

2007-5-17 20:34
爱以走远
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:52
帖子:7500
积分:75172
注册:2007-3-16

39h是9的ASCII码哈 呵呵 当然就是和他比较拉 加7你自己想想嘛 也是ASCII的问题
呵呵 A的ASCII是41H 呵呵

   好好活着,因为我们会死很久!!!
2007-5-17 20:53
I喜欢c
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:64
帖子:1719
积分:17032
注册:2007-3-2

就是显示字符嘛...

先判断它是不是字符

 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-5-17 23:09
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.059513 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved