News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

b -> c

Started by t48605, May 16, 2006, 02:27:34 PM

Previous topic - Next topic

t48605

hi and there is a problem that I ' m meeting :
here is one of  examples that I see in emu8086

org 100h
mov ax , 0b800h
mov ds , ax
;make word " HELLO " appears
mov [52h] , ' H '
mov [54h] , ' E '
mov [56h] , ' L '
mov [58h] , ' L '
mov [60h] , ' O '
; ...

I change 0b800 to 0c800 and see nothing ???
anyone know why ???

raymond

When your video mode is in the basic 320x200, the video memory is mapped in the B800 segment. If you write to the C800 segment, it would be outside the video memory.

Raymond
When you assume something, you risk being wrong half the time
http://www.ray.masmcode.com

Ossa

A list of the screen modes (with their video memory locations) is here: http://www.ctyme.com/intr/rb-0069.htm

Ossa
Website (very old): ossa.the-wot.co.uk

MichaelW

t48605,

I'm curious as to what led you to think that segment address C800h would work. C800h at least used to be the default address for the SCSI BIOS, so on most systems there would be no physical RAM or ROM at this address. For the VGA the BIOS is at C000h, the alphanumeric display buffer at B800h, and the graphics display buffer at A000h.

eschew obfuscation

t48605

so there is one data had been there , for example : c800:0052h but when I do mov [52h] , ' H ' what prevent that data at address c800:0052h can't be change to ' H ' ?
thanks !!!

MichaelW

Assuming you are running under Windows, I would guess that Windows has mapped memory into that address range, and is blocking your attempts to write to the memory.
eschew obfuscation