菜鸡记录-王爽-汇编语言-实验十(编写子程序-显示字符串)

题目:

菜鸡记录-王爽-汇编语言-实验十(编写子程序-显示字符串)_第1张图片

代码:

assume cs:code
   data segment
   db 'Welcome to masm!',0
   data ends

 code segment
   start:  mov dh,8
           mov dl,3
           mov cl,2
           mov ax,data
           mov ds,ax
           mov si,0
          call show_str
         mov ax,4c00h
         int 21h
   show_str: 
     mov ax,0b800h;保存起始地址!
     mov es,ax;起始地址写入es寄存器中
     
     mov al,160;一行80个字符,一共160个字节
	 dec dh;行号从0开始
     mul dh;乘以行号就可以得到行号部分的偏移地址啦
     mov bx,ax;保存所得到的的结果数据
     mov al,2;单列2个字节
     mul dl;相乘得出列占多少字节。
	 sub ax,2;一列是两个字节,那么结果减去2个字节也是无可厚非的!
     add bx,ax;这次再相加就是全部的数据啦。
    mov al,cl;就一种颜色
    
         s: mov cl,[si] ;移动data区域中的第一个字符进入cl中进行检测
             jcxz ok;检测是否走到了最后
              mov dx,[si];放入数据
              mov es:[bx],dx;放入es中
              mov es:[bx+1],al
              inc si
              add bx,2
              loop s;如果字符不是0,就是没有结束将会继续运行下去。

 ok: ret
code ends
end start 

代码截图:

菜鸡记录-王爽-汇编语言-实验十(编写子程序-显示字符串)_第2张图片

运行结果:

菜鸡记录-王爽-汇编语言-实验十(编写子程序-显示字符串)_第3张图片

OK

你可能感兴趣的:(汇编语言)