|  | @@ -98,9 +98,7 @@ static void bios_handle_cup ( struct ansiesc_context *ctx __unused,
 | 
		
	
		
			
			| 98 | 98 |  	if ( cy < 0 )
 | 
		
	
		
			
			| 99 | 99 |  		cy = 0;
 | 
		
	
		
			
			| 100 | 100 |  
 | 
		
	
		
			
			| 101 |  | -	__asm__ __volatile__ ( REAL_CODE ( "sti\n\t"
 | 
		
	
		
			
			| 102 |  | -					   "int $0x10\n\t"
 | 
		
	
		
			
			| 103 |  | -					   "cli\n\t" )
 | 
		
	
		
			
			|  | 101 | +	__asm__ __volatile__ ( REAL_CODE ( "int $0x10\n\t" )
 | 
		
	
		
			
			| 104 | 102 |  			       : : "a" ( 0x0200 ), "b" ( 1 ),
 | 
		
	
		
			
			| 105 | 103 |  			           "d" ( ( cy << 8 ) | cx ) );
 | 
		
	
		
			
			| 106 | 104 |  }
 | 
		
	
	
		
			
			|  | @@ -118,9 +116,7 @@ static void bios_handle_ed ( struct ansiesc_context *ctx __unused,
 | 
		
	
		
			
			| 118 | 116 |  	/* We assume that we always clear the whole screen */
 | 
		
	
		
			
			| 119 | 117 |  	assert ( params[0] == ANSIESC_ED_ALL );
 | 
		
	
		
			
			| 120 | 118 |  
 | 
		
	
		
			
			| 121 |  | -	__asm__ __volatile__ ( REAL_CODE ( "sti\n\t"
 | 
		
	
		
			
			| 122 |  | -					   "int $0x10\n\t"
 | 
		
	
		
			
			| 123 |  | -					   "cli\n\t" )
 | 
		
	
		
			
			|  | 119 | +	__asm__ __volatile__ ( REAL_CODE ( "int $0x10\n\t" )
 | 
		
	
		
			
			| 124 | 120 |  			       : : "a" ( 0x0600 ), "b" ( bios_attr << 8 ),
 | 
		
	
		
			
			| 125 | 121 |  				   "c" ( 0 ),
 | 
		
	
		
			
			| 126 | 122 |  				   "d" ( ( ( console_height - 1 ) << 8 ) |
 | 
		
	
	
		
			
			|  | @@ -188,9 +184,7 @@ static void bios_handle_dectcem_set ( struct ansiesc_context *ctx __unused,
 | 
		
	
		
			
			| 188 | 184 |  	/* Get character height */
 | 
		
	
		
			
			| 189 | 185 |  	get_real ( height, BDA_SEG, BDA_CHAR_HEIGHT );
 | 
		
	
		
			
			| 190 | 186 |  
 | 
		
	
		
			
			| 191 |  | -	__asm__ __volatile__ ( REAL_CODE ( "sti\n\t"
 | 
		
	
		
			
			| 192 |  | -					   "int $0x10\n\t"
 | 
		
	
		
			
			| 193 |  | -					   "cli\n\t" )
 | 
		
	
		
			
			|  | 187 | +	__asm__ __volatile__ ( REAL_CODE ( "int $0x10\n\t" )
 | 
		
	
		
			
			| 194 | 188 |  			       : : "a" ( 0x0100 ),
 | 
		
	
		
			
			| 195 | 189 |  				   "c" ( ( ( height - 2 ) << 8 ) |
 | 
		
	
		
			
			| 196 | 190 |  					 ( height - 1 ) ) );
 | 
		
	
	
		
			
			|  | @@ -207,9 +201,7 @@ static void bios_handle_dectcem_reset ( struct ansiesc_context *ctx __unused,
 | 
		
	
		
			
			| 207 | 201 |  					unsigned int count __unused,
 | 
		
	
		
			
			| 208 | 202 |  					int params[] __unused ) {
 | 
		
	
		
			
			| 209 | 203 |  
 | 
		
	
		
			
			| 210 |  | -	__asm__ __volatile__ ( REAL_CODE ( "sti\n\t"
 | 
		
	
		
			
			| 211 |  | -					   "int $0x10\n\t"
 | 
		
	
		
			
			| 212 |  | -					   "cli\n\t" )
 | 
		
	
		
			
			|  | 204 | +	__asm__ __volatile__ ( REAL_CODE ( "int $0x10\n\t" )
 | 
		
	
		
			
			| 213 | 205 |  			       : : "a" ( 0x0100 ), "c" ( 0x2000 ) );
 | 
		
	
		
			
			| 214 | 206 |  }
 | 
		
	
		
			
			| 215 | 207 |  
 | 
		
	
	
		
			
			|  | @@ -243,7 +235,6 @@ static void bios_putchar ( int character ) {
 | 
		
	
		
			
			| 243 | 235 |  
 | 
		
	
		
			
			| 244 | 236 |  	/* Print character with attribute */
 | 
		
	
		
			
			| 245 | 237 |  	__asm__ __volatile__ ( REAL_CODE ( "pushl %%ebp\n\t" /* gcc bug */
 | 
		
	
		
			
			| 246 |  | -					   "sti\n\t"
 | 
		
	
		
			
			| 247 | 238 |  					   /* Skip non-printable characters */
 | 
		
	
		
			
			| 248 | 239 |  					   "cmpb $0x20, %%al\n\t"
 | 
		
	
		
			
			| 249 | 240 |  					   "jb 1f\n\t"
 | 
		
	
	
		
			
			|  | @@ -264,7 +255,6 @@ static void bios_putchar ( int character ) {
 | 
		
	
		
			
			| 264 | 255 |  					   "xorw %%bx, %%bx\n\t"
 | 
		
	
		
			
			| 265 | 256 |  					   "movb $0x0e, %%ah\n\t"
 | 
		
	
		
			
			| 266 | 257 |  					   "int $0x10\n\t"
 | 
		
	
		
			
			| 267 |  | -					   "cli\n\t"
 | 
		
	
		
			
			| 268 | 258 |  					   "popl %%ebp\n\t" /* gcc bug */ )
 | 
		
	
		
			
			| 269 | 259 |  			       : "=a" ( discard_a ), "=b" ( discard_b ),
 | 
		
	
		
			
			| 270 | 260 |  			         "=c" ( discard_c )
 |