home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / crt / src / platform / outp.asm < prev    next >
Assembly Source File  |  1998-06-17  |  1KB  |  75 lines

  1.         page    ,132
  2.         title   outp - output from ports
  3. ;***
  4. ;outp.asm - _outp, _outpw and _outpd routines
  5. ;
  6. ;       Copyright (c) 1993-1997, Microsoft Corporation. All rights reserved.
  7. ;
  8. ;Purpose:
  9. ;       Defines the write-to-a-port functions: _outp(), _outpw() and outpd().
  10. ;
  11. ;*******************************************************************************
  12.  
  13.         .xlist
  14.         include cruntime.inc
  15.         .list
  16.  
  17.  
  18. page
  19. ;***
  20. ;int            _outp(port, databyte)   - write byte from port
  21. ;unsigned short _outpw(port, dataword)  - write word from port
  22. ;unsigned long  _outpd(port, datadword) - write dword from port
  23. ;
  24. ;Purpose:
  25. ;       Write single byte/word/dword to the specified port.
  26. ;
  27. ;Entry:
  28. ;       unsigned short port - port to write to
  29. ;
  30. ;Exit:
  31. ;       returns value written.
  32. ;
  33. ;Uses:
  34. ;       EAX, EDX
  35. ;
  36. ;Exceptions:
  37. ;
  38. ;*******************************************************************************
  39.  
  40.         CODESEG
  41.  
  42.         public _outp, _outpw, _outpd
  43.  
  44. _outp   proc
  45.  
  46.         xor     eax,eax
  47.         mov     dx,word ptr [esp + 4]
  48.         mov     al,byte ptr [esp + 8]
  49.         out     dx,al
  50.         ret
  51.  
  52. _outp   endp
  53.  
  54.  
  55. _outpw  proc
  56.  
  57.         mov     dx,word ptr [esp + 4]
  58.         mov     ax,word ptr [esp + 8]
  59.         out     dx,ax
  60.         ret
  61.  
  62. _outpw  endp
  63.  
  64.  
  65. _outpd  proc
  66.  
  67.         mov     dx,word ptr [esp + 4]
  68.         mov     eax,[esp + 8]
  69.         out     dx,eax
  70.         ret
  71.  
  72. _outpd  endp
  73.  
  74.         end
  75.