马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
以此贴为记录.
这里的位置排列还是有问题.但是主要功能是实现了的.希望大家指点一下;assume cs:code
data segment
; add your data here!
db 'welcome to masm!',0
data ends
code segment
start:
mov dh,8h
mov dl,3h
mov cl,2h
mov ax,data
mov ds,ax
mov si,0h
call show_str
mov ax,4c00h
int 21h
show_str:
mov bx,ss ;将栈中的段地址暂时存放在BX中
mov al,dl
mov ah,0h
add ax,0B800H
mov ss,ax ;设置栈断地址为显存地址
mov ch,cl
mov di,0H
s: mov cl,[si] ;获取字节数据放入CH
mov al,ch ;将颜色暂存在BL中
mov ch,0H ;让CL为零
jcxz over ;判断是否为O,为零即跳到结束位置
mov ch,al ;不为零,将颜色恢复到CL中
mov ah,0H
mov al,dh
mov bp,ax
mov [bp+di], cx ;将数据(数据,颜色)按条件(行号DH,列号DL)存入显存区
inc si
inc di
inc di
loop s
over:
mov ss,bx ;将bx存放的原来的栈地址放回
ret
code ends
end start
|