Ignore carry flag for INT 15,88; the Ralf Brown interrupt list says
that CF is unreliable for this call.
unsigned int extmem;
REAL_EXEC ( rm_mem_e801,
+ "stc\n\t"
"int $0x15\n\t"
"pushfw\n\t"
"popw %w0\n\t",
uint16_t extmem;
REAL_EXEC ( rm_mem_88,
- "int $0x15\n\t"
- "jnc 1f\n\t"
- "xorw %%ax, %%ax\n\t"
- "\n1:\n\t",
+ /* Ignore CF; it is not reliable for this call */
+ "int $0x15\n\t",
1,
OUT_CONSTRAINTS ( "=a" ( extmem ) ),
IN_CONSTRAINTS ( "a" ( 0x8800 ) ),
do {
REAL_EXEC ( rm_mem_e820,
+ "stc\n\t"
"int $0x15\n\t"
"pushfw\n\t"
"popw %w0\n\t",