| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1763 人关注过本帖
标题:字符串的输入与输出问题,如何改?
只看楼主 加入收藏
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
结帖率:100%
收藏
 问题点数:0 回复次数:5 
字符串的输入与输出问题,如何改?
我的汇编源程序为:
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 SI,CC
      PUSH SI
      
   MOV AL,[SI+2]
      ADD AL,10H
      MOV [SI+2],AL
      INC SI
      CMP AL,34H
      
      SUB AL,10H
      MOV [SI+2],AL
       POP SI
       ADD SI,2
       MOV DX,SI
      ;lea dx,cc[2]                 ;回显的地址需要传送正确,前两字节并非存储处         
      mov ah,9
      int 21h
      
   
  mov ax,4c00h             ;返回操作系统
      int 21h
CODE ENDS
END BEGIN
这个程序的要求是输入一个字符串,以$结尾。
比如输入字符串:1234$
然后把字符串中的每个字符加上10H
所以输出字符串为:ABCD4
可是呢,我们老师还有一个要求。
就是在输入字符串的时候,要有一个判断,就是如果输入字符q,然后在输入回车时,就退出,返回到DOS。
可是这个操作我没有做出来,哪位大侠能不能给我加一下呀?拜托了呢~~~~~
搜索更多相关主题的帖子: DATA 字符 MOV SEGMENT LEA 
2007-11-27 12:05
wubizao
Rank: 1
来 自:荆州长大电信
等 级:新手上路
帖 子:223
专家分:0
注 册:2006-6-24
收藏
得分:0 
接受一个字符的输入,然后判断退出?
.
.
mov ah,0
int 16h
cmp al,'q'
je ret
.
.
.
ret:   mov ax,4c00h
         int 21h
.
.
.
.
.

在路上走,看见了C,从此爱上了她
2007-11-27 12:24
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
LEA DX,CC
      MOV AH,10                  ;调用21号中断10号子程序
      INT 21H

上面这段执行完后,判断cc[1]是不是等于1和cc[2]是不是q

从BFS(Breadth First Study)到DFS(Depth First Study)
2007-11-27 12:24
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 
我给大家用c解释一下吧:
就是有一个字符数组, 然后,我给它里面赋值。假设里面输入的第一字符是q,第二个字符是\n.就退出
如果不是这两个字符,就把里面所有的字符加上一个字符。
应该是这样的~~~不知道大家清楚了没?

~~我的明天我知道~~
2007-11-27 19:08
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
用我3楼说的办法,就能判断出是不是q和回车

或者判断cc[2]=='q'&&cc[3]==13也行

然后想怎么处理就随便你了

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

~~我的明天我知道~~
2007-11-28 14:18
快速回复:字符串的输入与输出问题,如何改?
数据加载中...
 
   



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

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