problem in 386 assembly.

what is the meaning of the following?

asm volatile ( "xor %%eax,%%eax ;" "inb %%dx, %%al" : "=a" (_lsr) : "d"(base+((5)*1)) );

if is actually the macro expanation of
HAL_READ_UINT8(base+REG_lsr, _lsr);

It is a part of serial driver DSR code.While debugging I found value of base as 1016. And IMPORTANT thing is after this execution some value comes in _lsr variable there.
I am a computer graduate and understand OS issues comfortably.Please help me. I am debugging using gdb on LINUX machine.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!