|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
复制代码
|
|