; 協吶方象粁

   datarea      segment
      buffer       db 80 dup(?)
      flag        db ?
   datarea      ends
   ; 協吶旗鷹粁
   prognam      segment
   main        proc    far
      assume       cs:prognam,ds:datarea
   start:
      push        ds
      sub        ax,ax
      push        ax
      mov        ax,datarea
      mov        ds,ax

      lea        bx,buffer
      mov        flag,0
   next: mov        ah,01
      int        21h
      test        flag,01h

      jnz        follow
      cmp        al,20h
      jnz        exit
      mov        flag,1
      jmp        next
  follow: cmp        al,20h
      jz         exit
      mov        [bx],al
      inc        bx
      jmp        next
   exit: ret

   main  endp
   prognam ends
       end       start