| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1541 人关注过本帖
标题:长度为10的字符串比较为什么不能输入直接就出来了.哪里不对,初学者请教!
只看楼主 加入收藏
tdl2000
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-4-30
收藏
得分:0 
在MASM FOR WINDOWS集成实验环境里真的是可以的,我也不知道为什么?
不信你试试,呵呵........可能在DOS里不可以吧
谁叫我是菜鸟呢,呵呵所以乱写的.

2007-05-10 17:40
爱以走远
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:7542
专家分:21
注 册:2007-3-16
收藏
得分:0 
我才睡拉一会 呵呵
可能是吧 我也有哪个 但是没用 呵呵
不过我还是觉得你的程序有错哈 呵呵 对拉 你以后不要7有这样的错误
MOV ES,AX 你有拉这一句 前面ASSUME CS:CODE,DS:DATA ,ES:DATA
就要那样 你重想一种方法看 感觉你那样不行

   好好活着,因为我们会死很久!!!
2007-05-10 17:50
tdl2000
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-4-30
收藏
得分:0 

DATA SEGMENT
S1 DB 'Please input string1: $'
S2 DB 'Please input string2: $'
S3 DB 'MATCH$'
S4 DB 'NO MATCH$'
S5 DB 10,0,10 DUP(0)
S6 DB 10,0,10 DUP(0)

DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA

START: MOV AX,DATA ;put data to DS
MOV DS,AX

LEA DX,S1 ;show message1
MOV AH,09H
INT 21H

LEA DX,S5 ;input string1
MOV AH,0AH
INT 21H
CALL CLRF

LEA DX,S2 ;show message2
MOV AH,09H
INT 21H


LEA DX,S6 ;input string2
MOV AH,0AH
INT 21H

CALL CLRF

MOV SI,2
OK: MOV DI,OFFSET S6+2
MOV AL,S5[SI]
MOV CL,S6[1]
MOV CH,0
CLD
LP: SCASB
JZ MATCH
DEC CX
JNZ LP

MOV CL,S5[1] ;characters of s5
CMP CX,SI ;the end of s5?
INC SI
JNB OK

LEA DX,S4 ;show no match
MOV AH,09H
INT 21H

JMP FINISH ;go to finish
CLRF PROC NEAR
MOV DL,0DH ;cr
MOV AH,02H
INT 21H
MOV DL,0AH ;next line
MOV AH,02H
INT 21H
RET
CLRF ENDP
MATCH: LEA DX,S3 ;show info of match
MOV AH,09H
INT 21H

FINISH: MOV AH,4CH ;return to Dos
INT 21H

CODE ENDS
END START
啊,总算可以了呀.现在要多谢谢爱以走远.
我要好好学习!

2007-05-10 21:58
爱以走远
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:7542
专家分:21
注 册:2007-3-16
收藏
得分:0 
呵呵 加油 我也没帮什么忙 就是要自己慢慢做
多调试 这样就慢慢提高拉

   好好活着,因为我们会死很久!!!
2007-05-10 22:00
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 
不过你程序有错哈
图片附件: 游客没有浏览图片的权限,请 登录注册


2007-05-10 22:03
爱以走远
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:7542
专家分:21
注 册:2007-3-16
收藏
得分:0 
不过ls 说的没错哈
你的程序还有错
我还没看
自己在好好想想

   好好活着,因为我们会死很久!!!
2007-05-10 22:16
tdl2000
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-4-30
收藏
得分:0 
是这样的,我知道原因了,ES:DATA 只是关联,在加MOV ES AX就对了
试试我这里可以的
2007-05-10 22:35
快速回复:长度为10的字符串比较为什么不能输入直接就出来了.哪里不对,初学者请教 ...
数据加载中...
 
   



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

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