Så här har jag löst det och det fungerar, men jag tycker att det inte ser så elegant ut, och undrar om det finns något smidigare sätt:
I r21 ligger ett positivt tal, i r18 ett tal som varierar mellan negativt och positivt.
resultatet hamnar i r24:r25 för vidare bearbetning som ni slipper se

tst r18 //testar för +/-
brpl positiv
neg r18 //talet är tydligen negativt, och jag gör det positivt för att kunna multiplicera
mul r18,r21
ldi r18,0xff //gör resultatet negativt genom att bilda två-komplementet, dvs invertera talet och addera 1
eor r0,r18 //inverterar
eor r1,r18 //inverterar
mov r24,r0 //kopierar till registerparet r24:r25 som går att använda med adiw
mov r25,r1
adiw r24,1 //tvåkomplementet av multiplikationsresultatet klart
rjmp mulfin
positiv: //inga konstigheter - multiplicera och lägg in r24:r25
mul r18,r21
mov r24,r0
mov r25,r1
mulfin: