利用DOS的OAH功能从键盘输入一串字符,并将此字符串在显示屏上显示出来

如题所述

利用DOS的OAH功能从键盘输入一串字符,并将此字符串在显示屏上显示出来。

;-------------------------------------
DATA SEGMENT
STRING1 DB 'Press any keys please: ', 10, 13, 24H
STRING2 DB 13, 10, 'The string is: ', 10, 13, 24H
BUF1 DB 100
DB ?
DB 100 DUP(?)
DATA ENDS
;-------------------------------------
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, ES:DATA
START:
MOV AX, DATA
MOV DS, AX
L:
MOV AH, 09H ;输入提示
LEA DX, STRING1
INT 21H
MOV AH, 0AH
LEA DX, BUF1 ;键盘输入到缓存区
INT 21H
;------------------------------
MOV AH, 09H ;输入提示
LEA DX, STRING2
INT 21H
LEA SI, BUF1 ;键盘输入缓存区
INC SI
MOV CL, [SI] ;取出实际输入个数
MOV CH, 0
INC SI
L3:
MOV AH, 02H ; 显示
MOV DL, [SI]
INT 21H
INC SI
LOOP L3
;------------------------------
EXIT:
MOV AH, 4CH
INT 21H
CODE ENDS
END START
;-------------------------------------
温馨提示:内容为网友见解,仅供参考
无其他回答

汇编语言 INT 21H功能
06H —控制台输入\/输出 09H —显示字符串 0AH — 键盘缓冲输入 0BH —检测输入状态 0CH —清输入缓冲区的输入功能 (1)、功能01H、07H和08H 功能描述:从标准输入设备(如:键盘)读入一个字符。该中断在处理过程中将一直处于等待状态直到有字符可读为止。该输入还可被重定向,如果这样做,则无法判...

相似回答