24 lines
		
	
	
		
			351 B
		
	
	
	
		
			ArmAsm
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			351 B
		
	
	
	
		
			ArmAsm
		
	
	
		
			Executable File
		
	
	
	
	
!	inl() - Input one dword				Author: Kees J. Bot
 | 
						|
!								18 Mar 1996
 | 
						|
!	unsigned inl(U16_t port);
 | 
						|
 | 
						|
	o32 = 0x66
 | 
						|
 | 
						|
.sect .text
 | 
						|
.define _inl
 | 
						|
_inl:
 | 
						|
	push	bp
 | 
						|
	mov	bp, sp
 | 
						|
	pushf
 | 
						|
	cli				! eax is not interrupt safe
 | 
						|
	mov	dx, 4(bp)		! port
 | 
						|
	.data1	o32
 | 
						|
	in	dx			! read 1 dword
 | 
						|
	.data1	o32
 | 
						|
	push	ax			! push eax
 | 
						|
	pop	ax
 | 
						|
	pop	dx			! dx:ax = eax
 | 
						|
	popf
 | 
						|
	pop	bp
 | 
						|
	ret
 |