|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- assume cs:dmd
- sjd segment
- db 'Welcome to masm!',0
- sjd ends
- dmd segment
- cxks :
- mov dh,8
- mov dl,3
- mov cl,2
- mov ax,sjd
- mov ds,ax
- mov si,0
- call show
-
- mov ax,4c00h
- int 21h
- show: mov ax,0 ;将AX值0
- mov al,160 ;将AL值160,每行160字节
- mul dh ;AL 乘以8,AX=第8行的起始偏移
-
- mov dh,0 ;将DH值0
- add dx,dx ;DX=第三列的起始位置,一列2字节
- push dx ;压栈DX
-
-
- mov dl,16 ;将DL值16
- div dl ;将AX中的数据除以16,段地址要乘16,这里先除
-
-
- add ax,0b800h ;将显存地址与ax内容相加送入AX
- mov es,ax ;将段地址送入附加段
- mov di,0 ;
- mov bx,0
-
- mov dl,cl ;将处cl字符属性绿色字符送给Di
-
- pop bp ;将列偏移量出栈送给bp
-
- siii: mov cl,ds:[bx] ;取数据
- mov ch,0
- jcxz sccc ;CX=0则跳转
-
- mov es:[di+bp],cl
- mov es:[di+1+bp],dl ;内容加入显存地址
- inc bx
- add di,2
- jmp siii ;继续执行
- sccc: ret
-
- dmd ends
- end cxks
复制代码 |
|