assume cs:code
data segment
db 'w',11001010B,'e',11001010B,'l',11001010B,'c',11001010B,'o',11001010B,'m',11001010B,'e',11001010B,' ',11001010B
db 't',11001010B,'o',11001010B,' ',11001010B,'m',11001010B,'a',11001010B,'s',11001010B,'m',11001010B
data ends
code segment
start:
mov ax,data
mov ds,ax
mov bx,0
mov ax,0b800h
mov es,ax
mov si,0
mov cx,15
show:
mov ax,ds:
mov es:,ax
add bx,2
add si,2
loop show
mov ah,1
int 21h
mov ax,4c00h
int 21h
code ends
end start


;I read a book and it said "B8000H~BFFFFH is a mode 80*25 of multicolor character buffer
;but why?when I write character to this buffer
;it's nothing to show!
by the way:My OS is Window XP and color mode is 32Bit (1024*768)
Posted on 2008-11-09 21:40:38 by dapro

;this line is wrong
mov ax,0b80h
;replace with the correct address
mov ax,0b800h

Posted on 2008-11-09 21:52:39 by sinsi
Please do not retroactively edit your posts, it breaks the logical flow of the topic and causes confusion for those who may be looking for a similar solution.

When the question is answered, or problem resolved, leave a thankful/respectful acknowledgment... and simply move on ;)
Posted on 2008-11-10 22:50:20 by SpooK

Please do not retroactively edit your posts, it breaks the logical flow of the topic and causes confusion for those who may be looking for a similar solution.

When the question is answered, or problem resolved, leave a thankful/respectful acknowledgment... and simply move on ;)


OK~ No problem
Posted on 2008-11-12 04:51:59 by dapro