代码语言:javascript复制
;在屏幕上显示Welcome to masm!字符串。
;显示三行,颜色不同。这需要通过给显示缓冲区写入内容来实现。
;DOS显示模式是80×25,表示25行,每行80个字符。
;每个字符占2字节,高字节存放字符属性,低字节存放ASCII。
;请不要debug本程序,这样是看不到结果的。请直接在DOS环境下运行本程序
assume cs:code
data segment
db 'Welcome to masm!'
db 02h,71h,0cah ;控制字符显示的属性
data ends
stack segment
dw 10 dup (0)
stack ends
code segment
start:
mov ax,data
mov ds,ax
mov bx,0 ;初始化数据段地址
mov si,0
mov ax,0b800h
mov es,ax ;显示缓冲区段地址
mov bp,2080 ;在第13行开始显示
mov di,62 ;在中间显示
mov cx,3 ;外层循环次数
s1: push cx
mov cx,16 ;内层循环次数
s2: mov al,[bx]
mov ah,[si 16]
mov es:[bp di],ax
inc bx
add di,2
loop s2
pop cx
mov bx,0
add bp,160
mov di,62
inc si
loop s1
mov ax,4c00h
int 21h
code ends
end start
注意这段代码请不要Debug,直接运行即可。结果如下所示:最后一行的效果是闪烁显示。