当前位置:编程学习 > html/css >>

在显存显示字符串(调用子程序实现)

[html]  
assume cs:codesg,ds:datasg  
  
datasg segment  
  
 db 'I love China !',0  
datasg ends  
  
codesg segment  
  
start: mov ax,datasg  
       mov ds,ax  
  
         
       mov dl,12 ;要显示的行号  
       mov dh,20 ;要显示的列号  
        
  
     
       call show  
         
  
       mov ax,4c00h  
       int 21h  
  
       ; 在显存显示字符串,将十进制的数转换成对应的ascii码进行显示。  
show:    
       mov ax,0b800h  
       mov es,ax  
  
       ;mov di,dl*160+dh*2 ; 将要显示的目的地传给di  
      ; mov al,160  
       mov ax,160  
       mul dl  
       mov di,ax  
       mov ax,2  
       mul dh  
       add di,ax  
  
       mov si,0  
       mov ch,0  
          
  s1:  mov al,ds:[si]  
       mov cl,al  
       jcxz over  
       mov ah,2  
       mov es:[di],ax  
       inc si  
       add di,2  
       jmp s1  
        
 over: ret  
         
codesg ends  
  
end start  
  
   
note:
1.在show里面本来要用jmp 标号模拟loop,因为事先不知道要显示的字符串的长度。所以根据末尾的0来结束打印。
 
 
 
 
补充:web前端 , HTML 5 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,