home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cutting-Edge 3D Game Programming with C++
/
CE3DC++.ISO
/
BOOK
/
CHAP03
/
OUTPORT.ASM
< prev
next >
Wrap
Assembly Source File
|
1995-10-20
|
1KB
|
48 lines
;
; OUTPORT.ASM
;
.386
.MODEL USE32 FLAT
.CODE
PUBLIC _outportr,_outportbr
; outportr(unsigned int portid, unsigned int value);
; Output 16-bit word VALUE to port PORTID
_outportr PROC
ARG portid:DWORD,value:DWORD
push ebp ; Save BP
mov ebp,esp ; Set up stack pointer
push eax ; Save registers
push edx
mov dx,[ebp+8] ; Get port number
mov ax,[ebp+12] ; Get value to be output
out dx,ax ; Send to port
pop edx ; Restore registers
pop eax
pop ebp ; Restore BP
ret
_outportr ENDP
; outportbr(unsigned int portid, unsigned int value);
; Output 8-bit word VALUE to port PORTID
_outportbr PROC
ARG portid:DWORD,value:DWORD
push ebp ; Save BP
mov ebp,esp ; Set up stack pointer
push eax ; Save registers
push edx
mov dx,[ebp+8] ; Get port number
mov al,[ebp+12] ; Get value to be output
out dx,al ; Send to port
pop edx ; Restore registers
pop eax
pop ebp ; Restore BP
ret
_outportbr ENDP
END