回 帖 发 新 帖 刷新版面

主题:[讨论]那位汇编高手帮我解答一下这道题,太谢谢了,我都做一星期了,还是没运行出来

从STRIN+1单元起有一个字符串,串长在STRIN单元中。另在NUMB单元中有一数N.要求在字符串第N个字符后插入一个字符‘?’。若N大于串长则不插入。

回复列表 (共1个回复)

沙发

; 从STRIN+1单元起有一个字符串,串长在STRIN单元中。另在NUMB单元中有一数N.
 ;要求在字符串第N个字符后插入一个字符‘?’。若N大于串长则不插入。

DATA SEGMENT
strin db 26,'ABCDEFGHIJKLMNOPQRSTUVWXYZ',' ',13,10,'$'
numb db  5
DATA ENDS
CODE SEGMENT
  ASSUME  CS:CODE,DS:DATA ,ES:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV DX,OFFSET STRIN+1
MOV AH,9
INT 21H
MOV CX,0
MOV CL,NUMB
MOV BX,0
MOV BL,STRIN
CMP CL, BL
JA  EXIT
LEA DI,STRIN[BX+1]
LEA SI,STRIN[BX]
SUB BX,CX
MOV CX,BX
STD
REP MOVSB
MOV BL,NUMB
MOV BH,0
MOV STRIN[BX+1],'?'
EXIT:
MOV DX,OFFSET STRIN+1
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CODE  ENDS
  END START

显示结果为:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDE?FGHIJKLMNOPQRSTUVWXYZ

我来回复

您尚未登录,请登录后再回复。点此登录或注册