用汇编语言实现键盘输入字符并将字符打印出
一、【问题描述】:
用汇编代码实现输入一段字符并把输入的字符显示出来。
二、【问题分析】
;从键盘接收数据(dos系统的10号调用)
;从键盘接收字符,存入内存缓冲区,第一个字节指出缓冲区大小,第二个字节指出实际存入的字符个数
;从第三个字节实际存入字符,调用时候要把缓冲区的首字节存入dx
;mov dx, offset buf
;mov ah ,10
三、【代码实现】
DATAS SEGMENT
buf db 50
db ? ;不指明初值
db 50 dup(0)
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
mov dx,offset buf ;放缓冲区首地址到dx中
mov ah,10
int 21h
mov dl,10 ;换行符号的ascll码是10
mov ah,02
int 21h ;输出一个换行
mov bx,offset buf
inc bx ;实际存入的字符个数
mov cl,[bx] ;读取实际字符个数到cx中
mov ch,0
inc bx
s0:mov dl,[bx]
mov ah,02
int 21h
inc bx
loop s0
MOV AH,4CH
INT 21H
CODES ENDS
END START