Re: Basic x86 instructions?
From: f0dder (f0dder_spicedham_at_flork.dk)
Date: 07/26/04
- Next message: f0dder: "Re: Self Modifying Code in C"
- Previous message: Ed Beroset: "Re: f0dder's fabulous folly."
- In reply to: Herbert Kleebauer: "Re: Basic x86 instructions?"
- Next in thread: Herbert Kleebauer: "Re: Basic x86 instructions?"
- Reply: Herbert Kleebauer: "Re: Basic x86 instructions?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Mon, 26 Jul 2004 00:52:49 +0200
Herbert Kleebauer wrote:
> f0dder wrote:
>> Herbert Kleebauer wrote:
>
>> The adressing modes depend on the mode the processor is running in,
>
> No. You can use the 16 bit addressing modes in protected mode
> (if your code/date is within the first 64k so it can be accessed
> with a 16 bit address) and you can use all the 32 bit addressing
> modes in real/V86 mode.
>
All 32bit adressing in real/v86 mode? You'll need to set up flat real
mode, voodoo mode, big real mode (or whatever nickname you want to
give it), then. Explain a newbie how and why voodoo mode works, and
how to set it up and get it working reliably *with* IRQs enabled?
As for 16bit addressing in 32bit mode, who would want that? :-)
>> Perhaps it's a bit easier to read some reduced version with
>> explanations, rather than intel's very dry and very large reference?
>> At least to start with.
>
> If you have second level documentation about the x86 architecture
> which is easier to read (I doubt this), then this documentation
> is processor specific but not OS specific (you can use it for
> DOS, Windows or Linux programming).
>
www.madwizard.org has a good kickstart, Iczelion's tutorials provide
a good asm-based introduction to the WIN32 API. A lot short than
reading the intel manuals, and will get you going a lot faster. The
intel manuals don't mention an OS, and thus mention neither API calls
nor assemblers/linkers... the PDFs are very good once you've got the
hang of stuff and need to research things, but I don't think they're
very suitable for absolutely newcomers. Of course that's just _my_
opinion.
>> Well, yes and no. Most people will want their programs to actually
>> do something - like reading/writing files, putting text to the
>> screen, whatever. You need some API calls for this (whether it be
>> linux syscalls, dos interrupts, or WIN32 API).
>
> And you want to tell me, that there is an easier to read documentation
> for the Windows API than for the DOS API?
>
Ralph Brown's interrupt list is one "flat" file. It's a massive piece
of work and was a great thing to have back in the days, but it could
be a bit chaotic to browse. The Platform SDK is split into sections,
has indexes, examples, descriptions, and is heavily cross-referenced.
Once you know a few starting-points, it is pretty fast to navigate.
Compared to the intlist or linux manpages, well... show me better OS
documentation?
>>> By the way, do you know about a complete and compact documentation
>>> for Windows API like Ralph Brown's interrupt list for DOS?
>>>
>> Easy - the PlatformSDK from microsoft, available free of charge.
>
> Complete yes, but compact? You can spend years reading this
> documentation which surely isn't appropriate for learning
> assembly programming (the language of the processor and not
> the language of the OS).
>
The intlist isn't exactly the language of the processor either, and
if you don't know where to look it is a lot more chaotic.
Anyway, there's a lot of personal opinion here. I can only say that
I would much prefer windows + ollydbg + platformsdk + "one of the
assemblers" (doesn't matter much which one, masm or fasm or nasm
or tasm or masm or rosasm or goasm or ...) + iczelions tutorials
(or madwizard + petzold's "programming windows"), to whatever was
available in the dos days... or to linux + gas + manpages today.
Yup, highly subjective - but at least I'm not saying that everybody
would have the easiest learning learning experience this way.
- Next message: f0dder: "Re: Self Modifying Code in C"
- Previous message: Ed Beroset: "Re: f0dder's fabulous folly."
- In reply to: Herbert Kleebauer: "Re: Basic x86 instructions?"
- Next in thread: Herbert Kleebauer: "Re: Basic x86 instructions?"
- Reply: Herbert Kleebauer: "Re: Basic x86 instructions?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]