用80x86汇编语言编程:键盘输入与显示输出

来源:互联网 发布:易趣网与淘宝网的不同 编辑:程序博客网 时间:2024/06/05 07:35

要求:从键盘输入一行字符,要求第一个键入的字符必须是空格,不是,就退出。
如果是的话,开始接收字符并存放在首地址BUFFER的缓冲区内,直到接收到第二个空格时结束。
然后输出这个字符串。
悬赏分:15 
;===========================================
下列程序,经过检验,符合条件要求。
DATA SEGMENT
     BUFFER  DB 80 DUP(?)
DATA ENDS
;-----------------------
CODE SEGMENT
    ASSUME CS:CODE, DS:DATA
START:
    MOV  AX,  DATA
    MOV  DS,  AX
;-----------------------
    MOV  BX, OFFSET BUFFER
    MOV  AH, 1
    INT  21H
    CMP  AL, ' '  ;和空格相比较.
    JNZ  EXIT     ;不相等就退出.
NEXT:
    MOV  AH, 1
    INT  21H
    CMP  AL, ' '  ;和空格相比较.
    JZ   OUT_ALL  ;相等就输出全部.
    MOV  [BX], AL ;否则就保存.
    INC  BX
    JMP NEXT
;-----------------------
OUT_ALL:
    MOV  DL, 13   ;回车.
    MOV  AH, 2
    INT  21H
    MOV  DL, 10   ;换行.
    MOV  AH, 2
    INT  21H
;-----------------------
    MOV  BYTE PTR [BX], '$' ;在末尾添上$
    MOV  AH, 9              ;输出字符串.
    MOV  DX, OFFSET BUFFER
    INT  21H
;-----------------------
EXIT:
    MOV  AX, 4C00H
    INT  21H
CODE ENDS
    END START 
;===========================================

原题网址:http://zhidao.baidu.com/question/271694449.html

0 0
原创粉丝点击