|

楼主 |
发表于 2013-12-23 22:18:54
|
显示全部楼层
ryan0632 发表于 2013-12-21 10:44
同样表示没看懂你问的什么,提问贴代码上来
实验10 编写子程序
1.显示字符串
;名称:show_str
;功能:在屏幕的指定位置,用指定颜色,显示一个用0结尾的字符串
;参数:(dh)=行号,(dl)=列号(取值范围0~80),(cl)=颜色,ds:si:该字符串的首地址 ;返回:显示在屏幕上
assume cs:daima
shuju segment
db 'fghfghf',0
shuju ends
daima segment
kaishi:
mov dh,8
mov dl,21
mov cl,2
mov ax,shuju
mov ds,ax
mov si,0
call
show_str
mov ax,4c00h int 21h
;---------------------------- show_str:
push ax
push cx
push dx
push es
push si
push di
mov ax,0b800h
mov es,ax
dec dh
(为什么这里没有dec dl)
mov al,160
mul dh
add dl,dl
mov dh,0 计算显示在屏幕位置
add ax,dx
mov di,ax
mov ah,cl
x:
mov cl,ds:[si]
mov ch,0
jcxz f
mov al,cl
mov es:[di],ax
inc si
inc di
inc di
jmp x
f: pop di
pop si
pop es
pop dx
pop cx
pop ax
ret
;------------------------
daima ends
end kaishi
|
|