menimbulkan eksepsi priviled instruction pada
NT/2000/XP karena pd NT/2000/XP instruksi IN atau OUT
hanya bisa dieksekusi dalam mode kernel sedangkan
aplikasi keluaran Delphi levelnya adalah mode user.
jadi kalo kodenya bakal jalan di NT/2000/XP aplikasi
biasa harus menggunakan driver utk mengakses perangkat
keras.Namun hal ini bukannya tidak bisa diakali,
secara teori caranya begini:
aplikasi bisa mengeksesekusi IN/OUT kalo IOPL flag
prosesor(cmiiw) set. hanya saja utk mengeset flag ini
kita juga butuh level kernel juga.
kita buat aplikasi dengan level driver (krn driver
berjalan pada mode kernel)yg memiliki rutin utk
mengeset flag tsb. Tiap kali aplikasi kita akan
mengekseskusi IN/OUT kita set flag setrelah tidak
butuh eksekusi instruksi tsb flag kita unset lagi.
utk membuat driver anda gak bisa pake delphi,hrs pake
SDK khusus utk membuat driver Windows(sayangnya gak
gratis) atau kalo mau ada kok GWIOPM, coba aja di
Torry kayaknya ada, utk mengakses port kita
menggunakan fungsi2x yg disediakan GWIOPM,kalo tdk
salah caranya seperti yg saya jelaskan diatas.
--- Syarif Lumintarjo <[EMAIL PROTECTED]>
wrote:
> Coba pake ini bisa nggak? tapi saya lupa dapet dari
> mana?
>
> procedure OutPort(PortAddress: smallint; Value:
> byte);
> begin
> asm
> push dx
> mov dx,PortAddress
> mov al,Value
> out dx,al
> pop dx
> end;
> end;
>
> function InPort(PortAddress: smallint): byte;
> var
> Value: byte;
> begin
> asm
> push dx
> mov dx, PortAddress
> in al,dx
> mov Value,al
> pop dx
> end;
> InPort := Value
> end;
>
>
> On Sat, 25 Dec 2004 17:35:20 +0700, Yudha Delphi
> <[EMAIL PROTECTED]> wrote:
> >
> > Di pascal ada reserved word untuk akses port
> hardware
> > Pi di Delphi tidak ada,kalo emang terlanjur
> > Coba pake inline Assembly aja.
> >
> > Begin
> > Asm
> > Mov ax,61
> > Mov dx,ax
> > Mov ax,33
> > Out dx,ax
> > End;
> > //perintah di atas untuk perintah port
> [$61]:=$33;
> > End;
> >
> > Pi untuk Win2K ato WinXP dan si atasnya jelas "Gak
> Bisa"
> >
> > halo....
> >
> > saya ada masalah nih.
> > Saya telah membuat program dengan bahasa pascal,
> kodenya seperti ini
> >
> > port [$61]:=$33;
> > port[$42]:=$12;
> > port[$42]:=$01;
> > readln;
> > port[$61]:=00;
> >
> > Dalam Turbo Pascal 7 kode program tersebut
> berhasil menghasilkan
> > bunyi denging. Kemudian saya transfer ke Delphi 7,
> dan terjadi
> > error, 'undeclared identified port'. Yang jadi
> pertanyaan adalah
> > bagaimana akses port dalam Delphi??
> >
> > Terima kasih atas bantuannya.
> >
> > See you
> ...del...
>
__________________________________
Do you Yahoo!?
The all-new My Yahoo! - What will yours do?
http://my.yahoo.com
Berlangganan: [EMAIL PROTECTED]
Stop Berlangganan: [EMAIL PROTECTED]
Keluhan Milis(Unbouncing,spam,dll): [EMAIL PROTECTED]
| Yahoo! Groups Sponsor | |
|
|
Yahoo! Groups Links
- To visit your group on the web, go to:
http://groups.yahoo.com/group/Delphindo/
- To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
- Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
