Eli mitenkä saatais sisällettyä asmi c++:ssaan?
Ja mitenkä tehtäis ruudun tyhjennys
Tosta vois tehdä koodivinkin (DJGPP). Tulossa on kai... :)
Asmia C++:aan? No enpä tiedä sitä... mutta ruudun tyhjennys on aivan helppoa, jos käyttää kaksoispuskuria. Tyhjennät siis vain puskurin ja flippaat. >:( Netti meni poikki..! pitää saada uudestaan tulille :/
No nyt kuitenkin siirryin windows ohjelmointiin.
fawkz tietää kaiken ja sisällyttää asmin tarpeen vaatiessa vaikka leivänpaahtimeen :)
Javan muuten voi sisällyttää tarpeen vaatiessa vaikka leivänpaahtimeen, oikeesti.
Jos siirryt Windows ohjelmointiin ja työkaluna on Visual C++ niin asmia saa kätevästi tungettua:
asm { mov eax, 123 }
No kuinkas dossissa. Kääntäjänä hääri Mingw
siis häärii
DJGPP:llä homma taisi onnistua näin:
_asm
{
;koodi tähän
}//Tätä taidettiin kutsua in-line assembleriksi. Älkää valittako, jos meni väärin, sillä c++:sta ja assemblerista ei ole suurempaa kokemusta.
DJGPP:n inline-asmi pitää sitten kirjoittaa at&t syntaksissa (google). En muista sisällyttiinkö sitä noin mutta suunnilleen kuitenkin.
Mingw:n inline-asmi pitää luultavasti myöskin kirjoittaa at&t syntaksiin, mutta varmaa tietoa ei ole.
ite sain asmin toimimaan djgpp:ssä ainakin näin:
asm ("koodia");
Älkää hyvät ihmiset käyttäkö asmia jos ei ole ihan pakko.
C:llä saa melkein yhtä tehokasta koodia ja huomattavasti helpommin. Lisäksi asm sekoittaa helposti C++-kääntäjän optimoinnit joten pari riviä asmia siellä täällä saattaa vain hidastaa ohjelmaa. Asmia kannattaa käyttää vain muutamassa erikoistapauksessa, muulloin ei.
Aihe on jo aika vanha, joten et voi enää vastata siihen.