| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2646 人关注过本帖, 1 人收藏
标题:简单字符串输入输出问题,如何解决?
只看楼主 加入收藏
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
结帖率:100%
收藏(1)
 问题点数:0 回复次数:5 
简单字符串输入输出问题,如何解决?
DATA SEGMENT
AA DB 0DH,'Please input a string:$'
BB DB 0DH,0AH,'Print the string:$'
CC DB ?
   DB ?
   DB 8 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
BEGIN:MOV AX,DATA
      MOV DS,AX
      LEA DX,AA
      MOV AH,9
      INT 21H
      LEA DX,CC
      MOV AH,10
      INT 21H
      LEA DX,BB
      MOV AH,9
      INT 21H
      LEA DX,CC
      MOV AH,10
      INT 21H
CODE ENDS
END BEGIN
程序没错误,就是程序不让我输入字符串。郁闷中~~~~
搜索更多相关主题的帖子: 字符 输出 输入 
2007-11-26 11:07
loveajtl
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2007-7-5
收藏
得分:0 
CC DB ?
   DB ?
   DB 8 DUP(?)
首个数不能为空"?"要是一个数,例如10之类,在最后还要有字符串结束符'$'
2007-11-26 12:06
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
同楼上,不过是后面的dup前面的数字是多少,那里就填多少,比如你这个程序,就换成
CC DB 8
   DB ?
   DB 8 DUP(?)

从BFS(Breadth First Study)到DFS(Depth First Study)
2007-11-26 12:45
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 
喔~~~谢过了,我试下。

~~我的明天我知道~~
2007-11-26 13:01
wubizao
Rank: 1
来 自:荆州长大电信
等 级:新手上路
帖 子:223
专家分:0
注 册:2006-6-24
收藏
得分:0 
DATA SEGMENT
AA DB 0DH,'Please input a string:$'
BB DB 0DH,0AH,'Print the string:$'
CC  DB 16                                         ;注意这是自己假设的输入容量
      DB ?                                            ;实际输入的个数
      DB 16 DUP(0)                              ;真实的输入存储处
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
BEGIN:MOV AX,DATA
      MOV DS,AX
      LEA DX,AA
      MOV AH,9
      INT 21H
      
     
      LEA DX,CC
      MOV AH,10                  ;调用21号中断10号子程序
      INT 21H
      
      lea dx,bb                  
      mov ah,9
      int 21h

      lea dx,cc[2]                 ;回显的地址需要传送正确,前两字节并非存储处         
      mov ah,9
      int 21h
   
      mov ax,4c00h             ;返回操作系统
      int 21h
CODE ENDS
END BEGIN
-----------------------------------------------------------------
要注意的是09号显示字符串,需要以$判断显示结束
在程序中定义data段:
CC DB 16
      DB ?
      DB 16DUP(0)
表明你在可接受的容量范围内输入时要加上$,比如输入123$
这样才能正常回显.
--------------------------------
或者修改data段
CC DB 16
      DB ?
      DB 16 DUP('$')
---------------------------------

[[italic] 本帖最后由 wubizao 于 2007-11-26 13:19 编辑 [/italic]]

显示.jpg (18.97 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册

在路上走,看见了C,从此爱上了她
2007-11-26 13:12
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 
很清晰呢,谢过喔。学习一下。
呵呵~~~~
谢谢各位的回答

~~我的明天我知道~~
2007-11-26 13:41
快速回复:简单字符串输入输出问题,如何解决?
数据加载中...
 
   



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

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