用汇编语言编程
程序运行后,提示输入字符串,(字符个数大于5个),按回车键后,以一定速率向右移动,移到右边,字符在从左边出来。
DATAS SEGMENT
;此处输入数据段代码
STR1 DB 'Please input a character string :',0dh,0ah,'$'
BUF DB 20 ;这里的20为指定存放字符的个数(理论上的)
DB ? ;
DB 20 DUP (?) ;这里的20是你在数据段开辟的空间
CRLF DB 0AH,0DH,"$";此处输入数据段代码 ;回车换行
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
LEA DX,STR1 ;9号中断前提,给参数DX赋值,指定输出字符串所在的有效地址
MOV AH,9
INT 21H
MOV AH,10 ;10号中断,接收输入字符串,此时DX为存放字符串的有效地址
LEA DX,BUF
INT 21H
LEA DX,CRLF
MOV AH,9
INT 21H
;mov ah,2
;mov dl,2
;mov bh,0
;int 10h
;LEA DX,CRLF
;MOV AH,9
;INT 21H
;MOV CL,BUF+1 ;获取字符串中字符的个数
;LEA SI,BUF+2 ;间接寻址
;NEXT: MOV DL,[SI]
;MOV AH,2 ;2号中断输出单个字符
;INT 21H
;INC SI ;输出一个地址往后加1
;DEC CL ;顺便减少输出的次数
;JNZ NEXT ;此处输入代码段代码
;
MOV AH,4CH
INT 21H
CODES ENDS
END START