|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
;问题:
; 字符串输入到键盘缓冲区,然后在调用显示字符串的中断,不能正常显示?
; 是不能直接在从键盘缓冲区显示? 该如何解决
; 网上有教程说调用INT 16 中的0号功能取得键盘输入的数据,但是还是每个字符都要判断处理
; 我是想把字符串全输入,然后在把整个字符串拿到别的地方处理
; 一直没弄成功
;
;
DATAS SEGMENT
tishi db 'please input grade:$'
wraning db 'input error!$'
bufsize db 10
catchar db ?
chartext db 10 (0)
db '$'
grade db 100 (0)
db '$'
DATAS ENDS
STACKS SEGMENT
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
mov ah,0 ;功能号
mov al,3 ;显示方式
int 10h ;中断
mov bh,0
mov dh,0
mov dl,0
call setcursor;设置光标在第0行0列
lea dx,tishi
call charshow
mov dh,1
mov dl,0
call setcursor ;置光标在第2行0列
lea dx,bufsize
mov ah,0ah
int 21h ;等待输入字符串
; mov cx,catchar
mov dh,2
mov dl,0
call setcursor ;置光标在第3行0列
mov dx,offset chartext;显示出错????
call charshow
MOV AH,4CH
INT 21H
charshow:
mov ah,09 ;显示字符串
int 21h ;中断
ret
setcursor:
mov ah,02
int 10h
ret
CODES ENDS
END START
|
|