求汇编程序编写输入一个字符串,再输出
展开全部
DATAS SEGMENT
STR DB 'please input a string:$'
BUF DB 20
DB ?
DB 20 DUP (?)
CRLF DB 0AH,0DH,"$"
;此处输入数据段代码
DATAS ENDS
STACKS SEGMENT STACK
DB 200 DUP(?) ;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START: MOV AX,DATAS
MOV DS,AX
LEA DX,STR
MOV AH,9
INT 21H
MOV AH,10
LEA DX,BUF
INT 21H
LEA DX,CRLF
MOV AH,9
INT 21H
mov bl,BUF+1 ;输出这里开始
mov bh,0 ;
lea si,BUF+2 ;首地址
mov byte ptr[si+bx],'$';结尾得加上 '$'
mov DX,si ;
MOV AH,9 ;
INT 21H ;结束
MOV AH,4CH
INT 21H
CODES ENDS
END START
STR DB 'please input a string:$'
BUF DB 20
DB ?
DB 20 DUP (?)
CRLF DB 0AH,0DH,"$"
;此处输入数据段代码
DATAS ENDS
STACKS SEGMENT STACK
DB 200 DUP(?) ;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START: MOV AX,DATAS
MOV DS,AX
LEA DX,STR
MOV AH,9
INT 21H
MOV AH,10
LEA DX,BUF
INT 21H
LEA DX,CRLF
MOV AH,9
INT 21H
mov bl,BUF+1 ;输出这里开始
mov bh,0 ;
lea si,BUF+2 ;首地址
mov byte ptr[si+bx],'$';结尾得加上 '$'
mov DX,si ;
MOV AH,9 ;
INT 21H ;结束
MOV AH,4CH
INT 21H
CODES ENDS
END START
追问
那个我是新手还是看不太懂,可不可以从这个基础上写啊?
DSEG SEGMENT
MAXLEN DB 9
ACTLEN DB ?
STRING DB 9 DUP(?)
MESSG DB 0DH,0AH,'THE STRING IS:$'
DSEG ENDS
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询