汇编作业 实验10(1)
assume cs:code
data segment
db 'Welcome to masm!', 0
data ends
code segment
start:
mov dh, 8; 从第8行开始显示
mov dl, 3; 从第3列开始显示
mov cl, 2; 字体颜色为绿色
mov ax, data
mov ds, ax
mov si, 0; 字符串的首地址
call show_str
mov ax, 4c00H
int 21H
show_str:
push ax
push bx
push bp
push cx
push si
push di
push es
mov bl, cl ; 字体颜色存在bl中
mov ax, 0b800H
mov es, ax ; 显示缓冲区的段地址存在es
mov ax, 0a0H
mul dh ; 计算第n行的首地址
mov bp, ax ; 将第n行的首地址存在bx
mov ax, 2
mul dl ; 计算第n列的偏移地址
mov di, ax ; 将第n列存在di
ctom:
mov ch, 0 ; 判断是否到字符串结尾
mov cl,
jcxz exit ; 结尾则结束
mov es:, cl ; 存储字符
inc di
mov es:, bl ; 存储字符属性
inc si
inc di
jmp short ctom
exit:
pop es
pop di
pop si
pop cx
pop bp
pop bx
pop ax
ret
code ends
end start
页:
[1]