+ -
当前位置:首页 → 问答吧 → 求助:NTVDM CPU遇到无效的指令

求助:NTVDM CPU遇到无效的指令

时间:2010-11-27

来源:互联网

在一个小程序中运行时出现了这个对话框~~
源代码如下:
DATA SEGMENT
  BUF DB 'AEDFSLADDFDJFAFLDAFNDFJDLFJSLJFDKFJISDFAJLDFJDLFJSLFJALJDALFDJALJFFAJSDFJDKFJDSDFDSSAAABSEBASASAAABA','$'
  NOTES1 DB 'The original string is ','$'
  NOTES2 DB 'The changed string is ','$'
DATA ENDS
STACK SEGMENT STACK
  STA DB 1000 DUP(?)
  TOP EQU LENGTH STA
STACK ENDS
CODE SEGMENT
  ASSUME CS:CODE,DS:DATA,SS:STACK
  BEGIN:MOV AX,DATA
  MOV DS,AX
  MOV AX,STACK
  MOV SS,AX
  MOV AX,TOP
  MOV SP,AX
  MOV DX,OFFSET NOTES1
  MOV AH,09H
  INT 21H
  MOV DX,OFFSET BUF
  MOV AH,09H
  INT 21H

  MOV CX,64H
  MOV SI,0
  COMPARE: CMP BYTE PTR [SI+BUF],'A'
  JNZ LOOP1
  MOV BYTE PTR [SI+BUF],'B'
  LOOP1:INC SI
  DEC CX
  JNZ COMPARE

  MOV DX,OFFSET NOTES2
  MOV AH,09H
  INT 21H
  MOV DX,OFFSET BUF
  MOV AH,09H
  INT 21H
CODE ENDS
  END BEGIN

跪求大神指点~~
本程序的目的是为了将从buf开始的100个字符中的A替换为B,并且输出到屏幕上。谢谢!

作者: HasSirius   发布时间: 2010-11-27

我晕了~~
自己搞定了,原来没有返回dos
擦,太不小心了

作者: HasSirius   发布时间: 2010-11-27