В моем коде C есть встроенная сборка, вызывающая службу PCI BIOS. Теперь проблема в том, что один из результатов возвращается в регистре %ah
, но я не могу найти константу для ссылки на этот регистр.
Я хочу написать следующее:
asm("lcall *%[call_addr]" : "something here"(status) :);
а переменная status
содержит значение регистра %ah
.
Если я использую "=a"(status)
и добавлю mov %%ah, %%al
инструкцию, она будет работать. Но это кажется некрасивым.
Какие-либо предложения?