Sziasztok!
Azzal kapcsolatban kernem a segitsegeteket, hogy a Windows-t (es azon
keresztul megfelelő herdver eseten magat a szamitogepet) hogyan lehet
kikapcsolni programból (Delphi). Erre egy ejszaka futo programban lenne
szuksegem, ami ha lefutott, kikapcsolja a gepet.
Van erre egyaltalan lehetoseg?
A valaszokat elore is kosz.
PK
|
> > Szeretnem elerni 32-bites regisztereket, de a beepitett assembler nem
> > ismeri az eax, ebx, stb regisztereket. Foleg mov, add, mul, div kellene
> > 32 bites regiszterekkel.
Másik lehetőség, hogy a méret- és címmódosító prefixeket használod.
Ehhez nincs szükség a külön assembly-kód generálására, nyugodtan lehet
az "inline" assembly-t használni.
Az operandusméret-prefix: 66h
A címméret-prefix 67h
Ezek segítségével ( A BC++ 3.1 16 bites szegmenseiben):
1, ha operandusméret-prefix előzi meg az utasítást, akkor egy 16 bites
tényleges cím felhasználásával
32 bitet mozgat egy 32 bites regiszterbe a memóriából vagy vissza
2, ha címméret-prefix van a kód előtt, akkor 32 bites cím felhasználásával
16 bites reg.ből 16 bitet mozgat a címre
3, ha van mindkettő, akkor 32 bites cím felhasználásával 32 bitet mozgat
memóriából 32 bites reg.be vagy vissza
gyakorlatban:
db 66h
mov ax, mem ----> mov eax, mem
a többi triviális szerintem.
Ja, ha jól emlékszem, ahhoz hogy az assembly betétekben lehessen db, dw,
dq, stb. #pragma inline szükséges
Sok szerencsét
Ochronus
|
> Felado : [Hungary]
> Temakor: Segitseg ( 9 sor )
> Idopont: Thu Nov 22 21:24:18 CET 2001 CODER #1360
> - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>
> A hatvan évemmel fiatal programozo vagyok. At mentem a Dos-
> bol a WIndows 95-be, C nyelven kiserletezem.
hát ez nem semmi! le a kalappal! Akkor én a 48 évemmel
elég fiatal vagyok ;-)))
> Egy olyan programreszt nem tudok megoldani, amikor egy
> mozgo obiekt korul kering egy vagy tobb obiekt, mindegyik
> meghatarozhato iranyba es sebeseggel (Naprendszer minta).
> Tud valaki segíteni? Jo lenne e-Mail-en, esetleg csatolt
> File-on .
szerintem minden C telepitésben van a BGI mappában egy
BGIDEMO.C fájl (ott a csillagos égbolton egy UFO mozog)
szerintem onnan lehetne ötletet meríteni. (én csak a clipper-hez
szoktam néha DOSos betéteket készíteni C-ben, a Win-es C-hez
sajnos láma vagyok)
> Koszonom.
> Szocs Sandor
>
|