meiyoudao 发表于 2012-7-15 12:40:33

试验10-1 抛砖引玉

以此贴为记录.
这里的位置排列还是有问题.但是主要功能是实现了的.希望大家指点一下;
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,    ;获取字节数据放入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 , cx;将数据(数据,颜色)按条件(行号DH,列号DL)存入显存区
inc si
inc di
inc di



loop s

over:
mov ss,bx      ;将bx存放的原来的栈地址放回
ret
code ends

end start




页: [1]
查看完整版本: 试验10-1 抛砖引玉