为什么只能显示1次,第二次显示不了
assume cs:code,ds:data,ss:stackdata 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,
mov ch, 0
jcxz ok
mov al,
mov es:, cl
mov es:, al
add di, 2
inc bx
jmp short show
ok: ret
code ends
end start
mov si, 14错了
应该是 mov si,16
页:
[1]