home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c221 / 1.ddi / MWHC.001 / U < prev    next >
Encoding:
Text File  |  1992-12-09  |  1.5 KB  |  67 lines

  1. small_m = 1
  2. mach386 = 1
  3. GOC = 1
  4.  
  5. ;
  6. ; (C) Copyright 1987-1992;    MetaWare Incorporated
  7. ;
  8.     include init.inc
  9.  
  10. _TEXT    segment dword public 'CODE'
  11. _TEXT    ends
  12.  
  13. _DATA    segment dword public 'DATA'
  14.     extrn    _mw8087:word
  15.     extrn    _mwno87:dword
  16. _DATA    ends
  17. DGROUP    group    _DATA
  18.     assume    ds:DGROUP
  19.  
  20. _TEXT    segment dword public 'CODE'
  21. CGROUP  group    _TEXT
  22.         assume cs:CGROUP
  23. _mwno87msg    proc
  24.     public    _mwno87msg
  25.     prolog
  26.     push    es
  27.     extrnf    _mwinit_87
  28.     call    _mwinit_87
  29.         cmp     _mw8087,0
  30.         je      short no_print        ; No 87 exists on this machine
  31.                     ; don't bother to print.
  32.     les    edi,pword ptr _mwno87
  33.     or    edi,edi
  34.     jz    short no_print
  35.         mov     _mw8087,0 ; Set false.
  36.         mov     esi,edi ; Copy for later.
  37.         mov     al,' '
  38.     mov    cl,0ffh        ;length will never exceed 255.
  39.         repe    scasb
  40.         dec     edi
  41.         cmp     byte ptr es:[edi],0     ; Did we get to end of string?
  42.         je      short no_print
  43.         mov     edi,esi         ; Now print the message, one
  44.                     ; character at a time.
  45. again:  mov     dl,es:[edi]
  46.         and     dl,dl
  47.         je      short end_of_string
  48.         mov     ah,6            ; Direct Console I/O.
  49.         call    _mwint21             ; Print character.
  50.         inc     edi
  51.         jmp     again
  52. end_of_string:
  53.         mov     dl,0dh  ; \r\n.
  54.         mov     ah,6
  55.         call    _mwint21             ; Print character.
  56.         mov     dl,0ah
  57.         mov     ah,6
  58.         call    _mwint21             ; Print character.
  59. no_print:
  60.     pop    es
  61.     epilog
  62.  
  63. _mwno87msg    endp
  64.  
  65. _TEXT    ends
  66.     end
  67.