小弟的这两段代码在测试的时候总是提示 内存越界
希望哪位高手帮小弟看看~
谢谢了~
我的邮箱是fsj198389@163.com
急需!!!!!!!!!!!!!!!!!!!!!!
谢谢各位大虾了
1
;************************************************************
;输入一个字符串,判断其中A的个数,并输出.
;************************************************************
;************************************************************
DATA SEGMENT
STR DB 100
    DB  ?
    DB 100 DUP(?)
STR1 DB 'PLEASE INPUT TEH STRING:','$'
STR2 DB 'THE NUMBER OF A IS:','$'
DATA ENDS
;************************************************************
;************************************************************
CODE SEGMENT
     ASSUME CS:CODE,DS:DATA
 START:MOV AX,DATA
       MOV DS,AX
       MOV DX,OFFSET STR1
       MOV AH,09H
       INT 21H                         ;显示STR1
       
       MOV DX,OFFSET STR
       MOV AH,0AH
       INT 21H                         ;输入字符串
       MOV AL,STR+1
       CBW
       MOV CX,AX
 
       XOR BL,BL                      ;BL做计数器
       LEA SI STR+2
AGAIN:CMP BYTE PTR[SI],'A'
       JE  NEXT1 
       INC SI
       BEC CX
       JNZ AGAIN
NEXT1:INC SI
       INC BL
       DEC CX
       JNZ AGAIN
       MOV AH,02H
       MOV DL,0AH
       INT 21H                         ;回车
       MOV DL,0DH
       INT 21H                         ;换行
       MOV DX,OFFSET STR2
       MOV AH,09H
       INT 21H                         ;显示STR2
2
DATA SEGMENT
 BUFA DB 'ABCDEFGHIJKLMNO','$'
 BUFB DB 'ABCDEFGHIJabcdefghij','$'
 BUFC DB  15
      DB  ?
      DB  15 DUP(?)
STR DB 'THE NUMBER CHARACTOR IS:','$'
DATA ENDS
CODE SEGMENT
   ASSUME CS:CODE,DS:DATA
   START:MOV AX,DATA
         MOV DS,AX
         
         MOV DX,OFFSET BUFA
         MOV AH,09H
         INT 21H                                ;显示BUFA
         MOV AH,02H
         MOV DL,0AH
         INT 21H
         MOV DL,0DH
         INT 21H                                ;回车换行
 
         MOV DX,OFFSET BUFB
         MOV AH,09H
         INT 21H                                ;显示BUFB
         MOV DX,OFFSET BUFC
         MOV SI,OFFSET BUFA
         MOV CX,15                             ;CX做为一个计数器
  AGAIN:MOV DI,OFFSET BUFB
         MOV BX,20                             ;BX做为一个计数器        
         MOV AL,[SI]
  NEXT1:CMP AL,[DI]
         JNE NEXT2
         MOV [DX],AL
         INC DX
  NEXT2:INC DI
         DEC BX
         JNZ NEXT1
         INC SI
         LOOP AGAIN
         MOV DX,OFFSET STR
         MOV AH,09H
         INT 21H                                ;显示STR
         MOV DX,OFFSET BUFC
         MOV AH,09H
         INT 21H                                ;输出BUFC 
CODE ENDS

 
											





