Can any one tell me how to have complete control of the hardwar (like dos days) under windows
without any windows error using GDT & LDT?or pointing me to some good tutorial about it.

If so,please email me:
Posted on 2005-04-01 06:37:23 by asmcoder1
You are dreaming, learn the architecture of Windows and you will understand why. Use the old stuff in 16 bit DOS, learn to write device drivers for each version of Windows and you may go some of the way.
Posted on 2005-04-01 06:48:02 by hutch--
You could do it by writing your own extender and temporarily replacing the Windows GDT/LDT.
May as well write your own OS. :shock:
Posted on 2005-04-01 08:47:51 by djinn
Well i believe that nothing stand on assembler,that is possible i think...
Can you tell me were to find "Windows Architecture thing" that explain all about how windows
procede and memory management?
Posted on 2005-04-01 12:18:13 by asmcoder1
Asmcoder, you need ring0 access to modify GDT, LDT etc. If you want to do it the proper way, you'll have to write a driver (or two, if you want to support both 9x and NT). And, well, for the most part you shouldn't be doing this. If you want to play directly with the hardware, stick with DOS or write your own toy OS.
Posted on 2005-04-02 08:02:27 by f0dder
I don't know what's GDT and LTD? But, you can check this manuals of Intel and the Masm you might need for the hardware, it's faster doing more things on hardware than software. http://webster.cs.ucr.edu/Page_TechDocs/ If you check the Masm Documentation, that was maded
officially by Microsoft to learn the 16-bits with Masm and Ralph's int list http://www-2.cs.cmu.edu/afs/cs/user/ralf/pub/WWW/files.html
I guess it will have most int list. For 32-bits at low-level to learn will be preferible to learn Go, HLA and Fasm(I guess this one).
http://www.klid.dk/ftp/gnu/gnu-utils/docs/faq/djgppfaq.txt DJGPP platform supports inline assembly with C/C++ even 64-bits 32-bits, 20-bits, and 16-bits. Masm32 you can write low-level structures too in 32-bits. Art of Assembler by Randall Hyde, explains all about the hardware of Intel, the best documentation and informative, but you have to take time in reading. http://webster.cs.ucr.edu/ PlatformSDK, DDK, MSDN library; to be able to write programs for most operative systems
from Microsoft.

I forgot to mention, that the Masm documentation also teaches 32-bits to processor .686 I guess, for later and 64-bits you will have to await
for Microsoft next release of Ml 64-bits.

Offtopic DOS sucks, use better BIOS :D
Posted on 2005-04-03 17:36:22 by Xor Stance

Well i believe that nothing stand on assembler,that is possible i think...
Can you tell me were to find "Windows Architecture thing" that explain all about how windows
procede and memory management?

Hi asmcoder1,

IMO, don't waste your time with 16-bit programming.
Buy this book http://www.microsoft.com/MSPress/books/4354.asp
and try to learn device driver programming.
Device driver programing in assembly
at http://www.website.masmforum.com/tutorials/kmdtute/index.html
It's all you need !  :D
Good luck  :!:

Posted on 2005-04-03 22:22:04 by Opcode
Interrupts are a waste of time, it sounds like an outmoded form of contraception.  :roll:
Posted on 2005-04-04 03:43:01 by hutch--
I'm not going to force you and I'm not an expert, just I know that 16-bits its now only use for; keyboard, old mouses, BIOS, Dos(old), Os Bootloader, writing drivers, and hobby. There might be other needs for it like a new plugin for a computer from hardware, that might depend. Therefore, if you're not going to program such deep things like this, there're no reason to waste time in learning something that will
not be useful. One of the last things is that if you're an Intel employer or such company, to test the hardware of 16-bits.

It all depends on you, to decide. I for I want to program such deep things, I had chosen to learn all, even 64-bits, but that will be later.

I don't know if this true, but:


quote from this tutorial

Software interruptions can be directly activated by the assembler invoking
the number of the desired interruption with the INT instruction.

The use of interruptions helps us in the creation of programs, and by using
them our programs are shorter, it is easier to understand them and they
usually have a better performance mostly due to their smaller size.

This type of interruptions can be separated in two categories: the
operative system DOS interruptions and the BIOS interruptions.

The difference between the two is that the operative system interruptions
are easier to use but they are also slower since these interruptions make
use of the BIOS to achieve their goal, on the other hand the BIOS
interruptions are much faster but they have the disadvantage that since
they are part of the hardware, they are very specific and can vary
depending even on the brand of the maker of the circuit.

The election of the type of interruption to use will depend solely on the
characteristics you want to give your program: speed, using the BIOS ones,
or portability, using the ones from the DOS.

I maded a mistake to take BIOS as hardware but it's close in a thread before. If the broadhand of Intel permit us to do such things on 16-bits
I still might use 16-bits for such other things I might need in future. If Intel hardware won't permit us in theory all the necessary control to use the power of 16-bits, but I guess they even maded a "debugger" in windows itself, as my statistics go, so I guess mine to only use in future BIOS int.

Posted on 2005-04-04 21:12:32 by Xor Stance
Can you tell me were to find "Windows Architecture thing" that explain all about how windows
procede and memory management?


or check out the intel manuals.
Posted on 2005-04-04 21:18:37 by Drocon