Hi,
On Apr 21, 4:24 pm, "stam...@[EMAIL PROTECTED]
" <spamt...@[EMAIL PROTECTED]
> wrote:
> I disassembled the code at C000: and got this:
> 0000c0000 55 push bp
> 0000c0001 aa stosb
> 0000c0002 58 pop ax
> 0000c0003 e919a8 jmp 0xba81f
> How come the vga bios jumps to code that starts at an address that is
> smaller than C0000?
Your disassembler isn't very good.
In real mode IP is 16-bit and therefore the target address would wrap
around to "0xC000:0xA81F", *without* effecting CS (which should be
0xC000).
The "push bp" line tells me that the disassembler isn't operating in
"32-bit mode", which means the disassembler is using 32-bit addressing
with 16-bit instructions when it should be using 16-bit addressing
with 16-bit instructions. Basically, your disassembler isn't very
good....
Cheers,
Brendan


|