本文讲述如何编写一子程序将空行的行数保存在参数AX寄存器中

STACKS   SEGMENT  STACK
         DW     100H DUP(?)
         TOP    LABEL WORD
         STACKS ENDS            --定义栈

DATAS    SEGMENT
         TABLE  DB 100H DUP(?)
     DATAS  ENDS            --定义变量

CODES    SEGMENT
         ASSUME CS:CODE,SS:STACKS,DS:DATAS
      MAIN PROC FAR

         MOV AX,STACKS
         MOV SS,AX
         LEA SP,TOP
         MOV AX,DATAS
         MOV DS,AX

     MOV AX,0
         MOV AH,1
     INT 21H         --输入想要换行的行数
     MOV AH,0
     MOV CX,AX       --设置循环的次数为输入的数字

L1:
     CALL SKIPLINES  --调用子程序
     LOOP L1

EXIT:
     MOV AH,4CH
     INT 21H
      MAIN   ENDP

      SKIPLINES PROC FAR
      MOV DL,0DH     --输出换行,注意在Windows里面只有当0D和0A一起时才能在屏幕上显示换行
      MOV AH,2
      INT 21H
      MOV DL,0AH
      MOV AH,2
      INT 21H        --依次输出回车和换行
      RET
      SKIPLINES      ENDP

    CODES  ENDS
    END   MAIN