44 A(
"mul %A[longIn1], %B[longIn2]")
46 A(
"mul %B[longIn1], %C[longIn2]")
47 A(
"movw %A[intRes], r0")
48 A(
"mul %C[longIn1], %C[longIn2]")
49 A(
"add %B[intRes], r0")
50 A(
"mul %C[longIn1], %B[longIn2]")
51 A(
"add %A[intRes], r0")
52 A(
"adc %B[intRes], r1")
53 A(
"mul %A[longIn1], %C[longIn2]")
55 A(
"adc %A[intRes], r1")
56 A(
"adc %B[intRes], %[tmp1]")
57 A(
"mul %B[longIn1], %B[longIn2]")
59 A(
"adc %A[intRes], r1")
60 A(
"adc %B[intRes], %[tmp1]")
61 A(
"mul %C[longIn1], %A[longIn2]")
63 A(
"adc %A[intRes], r1")
64 A(
"adc %B[intRes], %[tmp1]")
65 A(
"mul %B[longIn1], %A[longIn2]")
67 A(
"adc %A[intRes], %[tmp1]")
68 A(
"adc %B[intRes], %[tmp1]")
70 A(
"adc %A[intRes], %[tmp1]")
71 A(
"adc %B[intRes], %[tmp1]")
72 A(
"mul %D[longIn2], %A[longIn1]")
73 A(
"add %A[intRes], r0")
74 A(
"adc %B[intRes], r1")
75 A(
"mul %D[longIn2], %B[longIn1]")
76 A(
"add %B[intRes], r0")
78 : [intRes]
"=&r" (intRes),
81 : [longIn1]
"d" (longIn1),
82 [longIn2]
"d" (longIn2)
95 __asm__ __volatile__ (
97 A(
"mul %[charIn1], %B[intIn2]")
98 A(
"movw %A[intRes], r0")
99 A(
"mul %[charIn1], %A[intIn2]")
100 A(
"add %A[intRes], r1")
101 A(
"adc %B[intRes], %[tmp]")
103 A(
"adc %A[intRes], %[tmp]")
104 A(
"adc %B[intRes], %[tmp]")
106 : [intRes]
"=&r" (intRes),
108 : [charIn1]
"d" (charIn1),
109 [intIn2]
"d" (intIn2)