9.2.3 DOS显示功能调用
 
  
表9.10为INT 21H的显示操作,其中有两个是显示单字符的功能,另一个是显示字符串功能,这些功能都自动向前移动光标。

  注意:使用INT 21H显示字符串,一定要在显示串之后加上定界符$,丢失定界符可能会在屏幕上引起意想不到的后果。

  
AH = 9的功能是显示字符串,它要求被显示输出的字符必须以$字符(24H)作为定界符,此功能是用$作为标记来计算串的长度的。有些ASCII码,如控制码,不能出现在该字符串中。显示字符串时,如果希望光标能自动换行,那么可在字符串结束之前加上回车和换行的ASCII码,如下例定义的字符串:

  MESSAGE DB 'The sort
      DB 'operation is'
      DB 'finished.',13,10,'$'
  要显示输出的信息一般定义在数据段,输出上面定义的字符串MASSAGE的指令为:

     MOV   AH,9
     MOV   DX,SEG MESSAGE
     MOV   DS,DX
     MOV   DX,OFFSET MESSAGE
     INT   21H

  使用赋值伪操作可以使程序的可读性更好,另外也可以根据显示格式的要求使用TAB符,TAB符的ASCII码为09。
  CR   EQU  13  (或CR EQU 0DH)
  LF   EQU  10  (或LF EQU 0AH)
  TAB   EQU  09
  MESSAGE DB TAB,'The sort
      DB 'operation is finished.'
      DB CR,LF,'$'

  
例9.19 编写一个显示字符串的宏指令PRINT