Fontos megjegyezni, hogy az STM8x processzorok "extended" utasításkészlettel rendelkeznek, mig az AVR "reduced".
Igen, nem ismerem ezt az MCU-t, de valoban ilyen CISC-light jellegunek tunik az utasitaskeszlet ;)
Sajnos korlátok vannak a változók átvételében az assembly és a C között.
Mgen... a gcc inline assembly-je elegge agyfaszosnak nez ki elsore, de valojaban pont ez az elonye hogy a valtozo-atadasok meg az ilyesmik egysegesen legyenek kezelve. Lehet hogy az SDCC ezt nem csinalja annyira jol es/vagy hatekonyan...
Pl. a "tiny-usb" ami egy ATtiny85 -ön (de lehet kisebb is) valósítja meg az USB HID kommunikációt, az úgy tűnik nem tud működni az STM8x pont az utasítás készlete miatt
Ez inkabb azert van/lehet mert a CISC-light jellegu instruction pipeline miatt sokkal nehezebben becsulheto hogy egy-egy utasitas hany oraciklusig fut le (noplane foleg ha memory wait cycle-k is kerulnek bele, amik az AVR-nel gyakorlatilag nem leteznek, ott nincsenek I/O wait cycle-k). Es ez a tiny-usb stack az nagyon-nagyon arra van kihegyezve hogy iszonyatosan pontosan tudjuk hogy melyik utasitas mennyi ido alatt fut le :)