home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / CEREBRUM / WAT9609.ZIP / ELIB / OUTSN.ASM < prev    next >
Assembly Source File  |  1994-11-28  |  1KB  |  69 lines

  1. PAGE    66,132
  2. ;
  3. ;
  4. ;
  5. ;
  6. ;
  7. ;
  8. ;
  9. ;
  10. ;  outsn.asm
  11. ;
  12. ;  print a string up to a certain len to stdio
  13. ;
  14. ;
  15. ;  Usage :
  16. ;        outsn( char far *s, int n)
  17. ;
  18. ;  (c) 1990 University of Waterloo,
  19. ;           Faculty of Engineering,
  20. ;           Engineering Microcomputer Network Development Office
  21. ;
  22. ;  version
  23. ;
  24. ;    0.1    7-Nov -1990   E. P. Engelke
  25. ;
  26. ;
  27.     include masmdefs.hsm
  28.     include    model.hsm
  29.  
  30. codedef OUTSN
  31. datadef
  32.  
  33.         cextrn  outch
  34.  
  35.  
  36. cstart  OUTSN
  37. cpublic outsn
  38.     push    DS
  39.     lds    SI, +@AB [BP]
  40.     mov    CX, +@AB+4[BP]
  41. @1:    lodsb
  42.         or      AL, AL
  43.         jz      @2
  44.  
  45.         cmp     AL, 0dh         ; convert 0d to 0d 0a
  46.         jnz     @3
  47.  
  48.         push    ax
  49.         ccall    outch
  50.         pop     ax
  51.  
  52. ;        mov     DL, AL
  53. ;        mov     AX, 020ah
  54. ;        int     21h
  55.  
  56. @3:     push    ax
  57.         ccall    outch
  58.         pop     ax
  59. ;        mov     DL, AL
  60. ;        mov     AH, 2
  61. ;        int     21h
  62.     loop    @1
  63.  
  64. @2:    pop    DS
  65. creturn outsn
  66. cend    OUTSN
  67.         end
  68.  
  69.