王爽汇编实验9

/*   编程: 在屏幕中间分别显示    绿色、绿底红色、白底蓝色  的字符串 ‘welcome to masm!’
*    数据的组织
*    数据的处理     一个字符在屏幕上占用2个字节   低地址存放字符的ASCⅡ码  高地址存放字符的属性
*/

assume   cs:code,ds:data,ss:stack

data segment 
      
	       db            'welcome to masm!'               //ds:[si]
		   
		   db            00000010B                        //绿色          //0000   0000
		   db            00100100B                        //绿底红色      // rgb    rgb
		   db            01110001B                        //白底蓝色
		   
data ends		   
		   
		   
stack segment

            db    128 dup (0)

stack ends



code  segment
 
start:  mov ax,stack
        mov ss,ax
        mov sp,128	

        mov bx,data            //数据从哪里来
        mov ds,bx		
		   
		mov bx,0B800h          //数据到哪里去
        mov es,bx		
		   
		mov si,0               //字符串(内容)的起始地址
        mov di,160*10 + 2*30   //字符在屏幕上的显示位置   第10行30列(67C)   偶数地址
        mov bx,16              //属性的起始地址		
		mov dx,0               //存放字符属性


        mov cx,3
		
s0:		push bx
		push cx
		push si
		push di
		

		
		mov cx,16
		mov dh,ds:[bx]         // mov es:[di],dx     es:[di+0],dl  ASCⅡ码   es:[di+1],dh 字符属性 
        
		
s:		mov dl,ds:[si]
        mov es:[di],dl
		add di,2
		inc si
		loop s

	

        pop di
		pop si
		pop cx
		pop bx
		add di,160
		inc bx                  //改变一个字节,切换下一个属性
		loop s0

	
		   
		mov ax,4c00h
        int 21h


code ends


end start		
		   
		   
		   
		   
		   
		   
		   
		   
		   
		   
		   
		   
		   
		   
		   
		   
		   
		   
		   
		   
		   
		   
		   
		   
		   
		   
		   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值