title: What is the correct Rust inline assembly format?
body: <p>How do you get the new inline assembly format to work with rust? I would like to have a function that calls outb.</p>
  <pre><code>unsafe fn outb(value: u8, port: u16) {
      asm!(
          &quot;outb {0}, {1}&quot;,
          in(reg_byte) value,
          in(reg_abcd) port,
       );
   }
  </code></pre>
  <p>This was the only version that almost produced code. There error message was:</p>
  <pre><code>error: invalid operand for instruction
  
     |
  29 |         &quot;outb {0}, {1}&quot;,
     |          ^
     |
  note: instantiated into assembly here
  --&gt; &lt;inline asm&gt;:2:2
     |
  2  |     outb dil, rax
     |     ^
  </code></pre>