31. december 2000 - 16:32Der er
6 kommentarer og 1 løsning
adresering af memory på absolut adresse
Jeg har et isa communikations kort med egen processor og shared ram som er placeret i memory hole fra 15-16 M på adressen F00000-F1FFFF. Jeg har tidliger i DOS adreseret dette kort ved hjælp af INT15, Men nu er jeg igang med at omskrive DOS programmet til Windows, jeg bruger Visual C++, jeg har forsøgt at oprette en pointer
VOID char *test test=0xF00000
men det jeg kan læse på den adresse er ikke share rammen fra isa kortet
Der er nogle begrænsninger i hvilke ting man får lov til i Win32 applikationer, i forhold til hvad vi kunne under DOS. Jeg har ligeledes anvendt et I/O kort på en bestemt port (180h) til styring af noget elektronik. Under DOS kunne jeg anvende inport og outport til at \"snakke\" med kortet, men disse to findes ikke/er ikke \"tilladte\" under Win32.
Jeg løste mit problem ved at skifte til assembler i mit Win32 program, da der findes både en inp og en outp assembler kommando:
int port = 0x180; int data = 0x00; asm { mov bx, data mov ax, port outp ax, bx }
Det eneste problem med direkte adressering er hvis man ønsker sit program kombatibelt med win 2000. Der fås access denied ved læs / skriv i adresse områder / segmenter, der ikke tilhører ens eget program.
hej soepro\'s svar lyder umildbart rigtigt men, jeg har prøvet at lade visuel c++ gå over i debug og der ser det rigtig ud, og som tuxen skriver vil det ikke virke i win 2000, men hvordan skriver man så en hardware driver til win98/2000 som man så kan kalde ??
Man kan lægge sig umiddelbart ovenpå de eksisterende drivere og fange deres output før Win XX ser det. Man skal gå igennem nogle kald med oprindelse i DDK. Driver Development Kit Mener jeg har noget eksempel kode, der beskriver hvordan. Thue
Du burde måske kigge på Win32 programmer der eksekvere i Ring 0 (driver lageret). Det er den umiddelbar eneste måde du kan sikre dig adgang til hardware. Check eventuel SoftIce driver tools kit fra Numega ud for information omkring dette.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.