【8086汇编】这个显示字符串的程序为什么显示不出来?
assume cs:code,ds:data
data segment
db 'Hello World!' ;定义要显示的字符串(共12字节)
data ends
code segment
start:
mov ax,data
mov ds,ax ;ds绑定数据段
mov ax,0b872h ;算出屏幕第12行中间的显存的段起始位置放入ax中
mov es,ax ;此时es为屏幕第12行中间的显存的段起始位置
mov si,0 ;初始化寄存器,分别用来控制奇偶地址
mov di,0
mov cx,0ch ;第一次循环为0ch次
s1: mov al,ds:[si] ;读取单个字符
mov es:[di],al ;写到显存里面
inc si
add di,2
loop s1 ;此循环实现偶地址中存放字符
mov si,1 ;si的值设为1,从而为在显存奇地址中存放字符的颜色属性做准备
mov al,0ah ;设置颜色属性为绿色高亮
mov cx,0ch ;第二个循环也为0ch(12)次
s2: mov es:[si],al
add si,2
loop s2 ;此循环实现奇地址中存放字符的颜色属性
;程序暂停,等待输入
MOV AH,01H
INT 21H
mov ax,4c00h
int 21h
code ends
end start
我用MASM5编译,系统是windows7,在CMD中运行,没有任何反应,什么也不显示,是不是我系统的问题啊?