How could i read the value of a physical memory address such as 0000:037Fh ? Many thanks Ciao Angelo
Posted on 2000-12-17 07:17:00 by AnGeLo
Are you trying to work with the parralel port by any chance? I believe the opcodes you want are IN and OUT which do both input and output to direct physical addresses. OUT - Output Data to Port Usage: OUT port,accum Modifies flags: None Transfers byte in AL,word in AX or dword in EAX to the specified hardware port address. If the port number is in the range of 0-255 it can be specified as an immediate. If greater than 255 then the port number must be specified in DX. Since the PC only decodes 10 bits of the port address, values over 1023 can only be decoded by third party vendor equipment and also map to the port range 0-1023. IN - Input Byte or Word or Dword From Port Usage: IN accum,port Modifies flags: None A byte, word or dword is read from "port" and placed in AL, AX or EAX respectively. If the port number is in the range of 0-255 it can be specified as an immediate, otherwise the port number must be specified in DX. Valid port ranges on the PC are 0-1024, though values through 65535 may be specified and recognized by third party vendors and PS/2's. (Quoted from a handy opcode reference file I got from hutches website!) :P Have fun! See ya, Ben
Posted on 2000-12-18 00:54:00 by cyberben
Oh yah, the address of a parrallel port usually starts at 378h and extends to 37Fh, the first address is a direct write to the 8 outputs on the printer port, the next two are control bits and stuff. Check out this website for more information: http://www.beyondlogic.org/index.html#PARALLEL This is a really good site! However most of the source code is in C or C++ so take note of my previous code for using ASM (Which is better for this anyhow) See ya, Ben
Posted on 2000-12-18 00:58:00 by cyberben