鱼C论坛

 找回密码
 立即注册
查看: 1457|回复: 1

整体显示输入的多组字符串

[复制链接]
发表于 2014-5-13 17:39:33 | 显示全部楼层 |阅读模式
10鱼币
代码如下,如何将多次输入的数据整体输出呢?因为要有查询的功能,所以在每组数据最后都有‘$’,所以9号功能无法把多组数据整体输出,求大神指导。
DATAS SEGMENT
  OBF3 DB 'Please input a new name(within 20 words):$'
  OBF4 DB 'please input the number(within 8 numbers):$'
  OBF5 DB 'Continue to input?(y/n)$'
  MESSAGE2 DB 21,0,21 DUP(0)   ;添加姓名变量
  MESSAGE3 DB 9,0,9 DUP(0)     ;添加号码变量
  MESSAGE DB 1500 DUP(0)
DATAS ENDS

INPUT: CALL NEXTLINE  
       ADD BP,30                                                  
       MOV SI,BP                 
   S2:MOV BYTE PTR MESSAGE[SI],0     ;清除MESSAGE中最后一个人的信息后面的30                 
      INC SI                                     个字节中非0的单元
      CMP[SI],0
      JNE S2
      MOV SI,BP  
      MOV DX,OFFSET OBF3
      MOV AH,9
      INT 21H  
      MOV DX,OFFSET MESSAGE2        ;输入的人名存放在MESSAGE2中
      MOV AH,10
      INT 21H
      MOV BX,-1      
   S5:INC BX                   ;为避免MESSAGE2中刚输入的信息没有完全覆
      CMP BYTE PTR MESSAGE2[BX+2],0DH      ;盖上一次的信息,将出车符(0DH)及其后
      JNE S5                   ; 面的字节归0  
   S6:MOV BYTE PTR MESSAGE2[BX+2],0
      INC BX
      CMP BX,20
      JNE S6  
      MOV BYTE PTR MESSAGE2[BX+2],0DH
      MOV CX,20
      MOV BX,-1  
  S1:INC BX                    ;将MESSAGE2复制到MESSAGE中
      MOV DL,BYTE PTR MESSAGE2[BX+2]         
      MOV BYTE PTR MESSAGE[SI+BX],DL
      LOOP S1  
      MOV BYTE PTR MESSAGE[SI+20],'$'
      CALL NEXTLINE  
      MOV DX,OFFSET OBF4
      MOV AH,9
      INT 21H  
      MOV DX,OFFSET MESSAGE3
      MOV AH,10
      INT 21H
      MOV BX,-1  
  S7:INC BX   ;为避免刚输入的号码没有完全覆盖上一次的号码,将这次输
      CMP BYTE PTR MESSAGE3[BX+2],0DH ;入的号码的最后一位的回车符(0DH)换成$   
      JNE S7  
      MOV BYTE PTR MESSAGE3[BX+2],'$'
      ADD SI,21
      MOV CX,8
      MOV BX,-1
   S3:INC BX  
      MOV DL,BYTE PTR MESSAGE3[BX+2]
      MOV BYTE PTR MESSAGE[SI+BX],DL
      LOOP S3  
      MOV BYTE PTR MESSAGE[SI+8],'$'
      CALL NEXTLINE  
      MOV DX,OFFSET OBF5
      MOV AH,9
      INT 21H  
      CALL NEXTLINE
      MOV AH,1
      INT 21H
      CMP AL,'Y'
      JE INPUT   
      CMP AL,'y'
      JE INPUT



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-5-14 17:19:31 From FishC Mobile | 显示全部楼层
自己顶,求救啊!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 04:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表