|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
assume cs:code,ds:data,ss:stack
data segment
db 'welcome to masm!',0
data ends
stack segment
dw 8 dup (0)
stack ends
code segment
start: mov dh, 8h ;显示的行号
mov dl, 3h ;显示的列号
mov cl, 2h ;显示的颜色
mov ax, data ;将DATA定义数据段
mov ds, ax
mov ax, stack
mov ss, ax
mov sp, 16
mov si, 0
call show_str
mov ax, 4c00h
int 21h
show_str: mov ax, 0b800h
mov es, ax
mov al, 160 ;计算行偏移字节数
sub dh, 1
mul dh
mov di, ax ;将行偏移字数给DI
mov al, 2 ;计算列偏移字节数
mul dl
sub ax, 2
add di, ax ;计算显存偏移地址
mov bl, cl ;显示的颜色给BL
mov bh, 0
mov cl, [si] ;将DATA的第一个字符给CL
mov ch, 0 ;给CH一个零
s: jcxz s1
mov es:[di], cl
mov es:[di+1], bl
add di, 2
inc si
mov cl, [si]
mov ch, 0
jmp short s
s1: ret
code ends
end start
|
|