Hallo
Ich habe da eine Frage zu der outb-funktion, wie sie im tutorial definiert ist.
Dort sieht sie so aus:
static inline void outb(uint16_t port, uint8_t data)
{
asm volatile ("outb %0, %1" : : "a" (data), "Nd" (port));
}
Wieso ist das denn nicht als Macro definert?
So funktioniert es doch auch:
#define outb(port, data) asm("outb %0, %1" : : "a" ((uint8_t)data), "Nd" ((uint16_t)port))
Vielleicht könnten mir das auch die Schreiber dieses Tutorials beantworten.