今天做了实验9,编译连接都没问题。但是Debug时发现往B8000H~BFFFFH中写人数据后再用-d B800:0000之类的查看B8000H~BFFFFH的内容,结果发现其中的内容不是我写入的内容啊!是不是这部分地址的内容不能修改啊?各位做得怎么样?
下面是我写的代码:
assume cs:code,ds:data
data segment
db 'welcome to masm!' ;16个字节
db 03H,34H,71H ;分别表示绿色、绿底红色、白底蓝色
data ends
code segment
start: mov ax,data
mov ds,ax
mov ax,0B800H
mov es,ax ;B8000-BFFFFH为显示缓冲区空间
mov di,0
mov cx,7
mov bx,0
mov di,0
s1: mov al,ds:[bx]
mov ah,ds:[16]
mov es:0[di],ax
add di,2
inc bx
loop s1
mov ax,20H
mov ds:0[di],ax
inc bx
add di,2
mov cx,2
s2: mov al,ds:[bx]
mov ah,ds:[17]
mov es:0[di],ax
add di,2
inc bx
loop s2
mov ax,20H
mov ds:0[di],ax
inc bx
add di,2
mov cx,5
s3: mov al,ds:[bx]
mov ah,ds:[18]
mov es:0[di],ax
add di,2
inc bx
loop s3
mov ax,4C00H
int 21H
code ends
end start
各位大侠抽空看看。拜托了!!! |