看书上那个b8000h~bffffh是什么彩色字符。。。。
我就按书上向里面写数据看看能显示不,因为是win8 就按网上装了个dosbox,不知道是不是必须要用dos系统才行。反正就是不显示。。我的代码是这样的:(也不知道写的对不对,刚学好多都不知道。。。)
assume cs:codesg ds:data
data segment
db 'w',2h
db 'e',2h
db 'l',2h
db 'c',2h
db 'o',2h
db 'm',2h
db 'e',2h
data ends
codesg segment
start: mov ax,data
mov ds,ax
mov bx,0h
mov ax,0b800h
mov ss,ax 我用debug一步步执行到这一步那个cs会突然变成0000再执行bosbox窗口就会花
mov bp,0h
mov cx,14
s:mov al,[bx]
mov [bp],al
add bx,1
add bp,1
loop s
mov ax,4c00h
int 21h
codesg ends
end start
------解决思路----------------------
不要用ss段指向显示缓冲区,可以用es,因为debug本身需要占用一点栈空间的。