Use "inb" ASM with register as first arg

1.1k views Asked by At

I would like to use it that way :

inb %cl, %al

But I get :

idt_asm.S:43: Error: operand type mismatch for `in'

Is it even possible ?

1

There are 1 answers

1
unwind On BEST ANSWER

No, the instruction is not that general.

See this reference page for the supported argument forms.

Basically, for bytes (inb) there are two forms:

  1. inb imm8, al
  2. inb dx, al

So the destination is always al, and the source is either immediate or taken from dx.