;需求分析:实现王爽《汇编语言》(第二版)教材P187上的联系
;功能描述:可以在屏幕中显示一串特定的字符串
;显示器显示数据地址:B8000H到BFFFFFH
assume cs:codesg,es:datasg
datasg segment
db 'welcome to masm!' ;为数据开辟内存
datasg ends
codesg segment
start:
mov ax,0b800h ;显示器显示数据的端地址
mov ds,ax
mov bx,720h ;设定偏移量,选择开始显示的位置
mov ax,datasg
mov es,ax ;使用es段寄存器来指向索引字符串datasg数据
mov si,0
mov cx,3 ;一共显示三行
s:
mov ax,cx
mov cx,16
s1:
mov dl,es:[si] ;读取一个字符
mov [bx],dl ;将该字符放入显示数据地址中
mov dl,00000010b ;设定字符显示的属性
mov [bx+1],dl ;将属性值放入显示的地址中
;两个字节决定了屏幕中一个字符该如何显示
inc bx
inc bx
inc si
loop s1
add bx,160
mov si,0
mov cx,ax
loop s
mov ax,4c00h
int 21h
codesg ends
end start
oop