|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
assume cs:code,ds:data,ss:stack
data segment
db 'happy birthday!',0
db 71h,42h
data ends
stack segment
db 10h dup (0)
stack ends
code segment
start: mov ax, data
mov ds, ax
mov ax, stack
mov ss, ax
mov sp, 10h
mov bx, 0
mov si, 14
mov ax, 0b841h
mov es, ax
mov di, 0
mov cx, 2; 属性循环2次
s: push cx; 外循环次数压栈
push di; 显存压栈,用于下次首行
call show; 调用显示子程序
pop di; 显存出栈
add di, 160; 移动到下一个首行
pop cx; 外循环出栈
inc si; 属性切换
mov bx,0; 移动到字符串开始
loop s
mov ax, 4c00h
int 21h
show: mov cl, [bx]
mov ch, 0
jcxz ok
mov al, [si]
mov es:[di], cl
mov es:[di+1], al
add di, 2
inc bx
jmp short show
ok: ret
code ends
end start
|
|