[求助]汇编的一个小问题
想在指定的行列显示一字符串,程序也没错误,但就是显示不出来,麻烦大家帮忙看看:
assume cs:code
data segment
db 'welcome to masm',0
data ends
code segment
start:
mov dh,8 ;dh是行数
mov dl,3 ;dl是列数
mov cl,2 ;cl 颜色
mov ax,data
mov ds,ax
mov si,0
call show_str
mov ax,0
int 16h
mov ax,4c00h
int 21h
;子程序开始
show_str:
mov ax,0B800h
mov es,ax
mov bx,0
dec dh
mov ax,0A0h
mul dh
mov bx,ax ;bx得到所须的行数的偏移地址
mov ax,2
mul dl
add bx,ax ;bx得到所须的行数+列数的偏移地址
s1:
push cl
mov cl,0
mov ch,[si]
jcxz s
pop cl
mov byte ptr es:[bx],ch
mov byte ptr es:[bx+1],cl
inc si
add bx,2
jmp short s1
s:ret
;子程序结束
code ends
end start