1.题目
2.源程序
assume cs:code
data segment
db 'welcome to masm!',0
data ends
code segment
start:
mov dh,11 ;行
mov dl,70 ;列
mov cl,24h ;颜色属性
mov ax,data
mov ds,ax ;ds 指向数据段
mov si,0 ;用于迭代数据
call show_str ;IP入栈,调用子程序show_str
mov ax,4c00h ;子程序执行完后,IP出栈,执行该条命令
int 21h
show_str: ;子程序入口
mov ax,0B800H ;es 寄存器指向显存单元
mov es,ax
mov al,160 ;计算显存位置,dh 行,dl 列,一行160个字节
mov bl,dh ;ax目前没用了,用于保存乘法结果
mul bl
mov dh,0
add ax,dx ;显存位置还要加上列dl,ax的结果保存要显示的显存内存单元地址
mov bx,ax ;测试的时候ax不能用 [ax+di],把结果送到了bx
mov dh,cl ;显存单元用bx保存了,用dh颜色属性存