bestimmt kann mir jemand hier sagen was der folgende Code macht

Versuche grad mich bisschen reinzuarbeiten in die Programmierung

__asm__ __volatile__ (
"ldd %1\n"
"subd %2\n"
"ldy %3\n"
"emul\n"
"ldx #1023\n"
"ediv\n"
"tfr y,d\n"
"addd %2\n"
: "=d"(outpc.map)
: "m"(flash4.mapmax),
"m"(flash4.map0),
"m"(ATD0DR0)
: "y", "x");
auf was genau bezieht sich %1 %2 usw. Die Instructions hab ich nachgeschaut aber blicks trotzdem nich. Bin auch nicht gerade der assembler-Gott

Hoffe ihr könnt mir helfen! Danke schonmal !
Grüße