好多年没用过Dos汇编了,如果我没有记错,386的机器不能直接往es段里拷贝ds的数据需要寄存器中转。
mov byte ptr ds:[bx],es:[bx] 改成
mov al, [bx]
mov es:[bx],al
assume cs:code
data segment
db 'welcome to China!'
data ends
code segment
start:
mov ax,data
mov ds,ax
mov ax,0B800H
mov es,ax
mov di,0
mov si,0
mov cx,17
rep movsb
mov ah,01h
int 21h
code ends
end start