C++-ban asm blokkban hogy lehet használni a scanf és printf függvényt?
A programot Visual Studio 2013-ban írom.
Annyit tudok, hogy a CALL-al elvileg meg lehet hívni ezeket a függvényeket, de azt nem tudom, hogyan tárolhatom le a bekért adatot egy változóban és hogyan írathatom ki azt illetve más szöveget asm-ben.
Előre is köszi!
Feltételezem hogy 32 bit assemblyről van szó mert tudtommal a 64-et nem támogatja a VS.
Az offset paranccsal éred el a változók memóriacímét pl.:
mov eax, offset var1
Más újdonság nagyon nincs. Úgy szoktuk megadni a függvény argumentumokat hogy fordított sorrendben pusholjuk a stackre őket, majd call-lal meghívjuk a függvényt, a hívás után pedig pop-olni kell őket a stackről vagy visszaállítani a stack címét. A visszatérési érték az EAX-ban lesz. (vagy EAX:EDX-ben ha nem elég az EAX)
Bár nem értem hogy miért akarsz assembly tudás nélkül inline assemblyt használni ilyesmire, de itt találsz segítséget:
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!