程序结果符合要求,但不知道有没有达到模块化设计
大家看看,有什么好改进的
assume cs:code
data segment
db 'Welcome to masm!',0
data ends
code segment
start: mov dh,8
mov dl,3
mov cl,2
mov ax,data
mov ds,ax
mov si,0
call show_str
mov ax,4c00h
int 21h
;函数名:show_str
;参数:(dh)=行号 (dl)=列号 (cl)=字体属性 ds:si指向字符串首地址
;函数说明:在指定位置,显示指定属性的字符
;返回无
; 2011/12/16
;
show_str: mov ax,0B800h
mov es,ax
mov ah,0 ;计算行位置
mov al,0a0h
mul dh
sub ax,0a0h
mov di,ax
mov ah,0 ;计算列
mov al,2h
mul dl
sub ax,2h
add di,ax
mov ah,cl
circulate:
mov ch,0
mov cl,ds:[si]
jcxz return
mov al,ds:[si]
mov es:[di],ax
add di,2
inc si
jmp short circulate
return: ret
code ends
end start |