home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-386-Vol-2of3.iso / b / bgi256-3.zip / DEBFILE.INC < prev    next >
Text File  |  1992-12-27  |  2KB  |  200 lines

  1. ;--------------------------------------------------------
  2. ;this is used for debugging to save the stack info 
  3. ;to an external file
  4.  
  5. OPENFILE PROC NEAR
  6.     PUSHF
  7.     PUSH AX
  8.     PUSH BX
  9.     PUSH CX
  10.     PUSH DX
  11.  
  12.     MOV AH,3CH
  13.     LEA DX,DS:[FLOODNAME]
  14.     MOV CX,0
  15.     INT 21H
  16.     MOV DS:[FILEHANDLE],AX
  17.  
  18.     POP DX
  19.     POP CX
  20.     POP BX
  21.     POP AX
  22.     POPF
  23.     RET
  24. OPENFILE ENDP
  25.  
  26.  
  27. WRITEFILE PROC NEAR
  28.     PUSHF
  29.     PUSH AX
  30.     PUSH BX
  31.     PUSH CX
  32.     PUSH DX
  33.     PUSH DI
  34.     PUSH SI
  35.     PUSH ES
  36.     PUSH DS
  37.  
  38.     MOV AH,40H
  39.     MOV BX,DS:[FILEHANDLE]
  40.     MOV DX,BP
  41.     MOV CX,6
  42.     PUSH SS
  43.     POP DS
  44.     INT 21H
  45.  
  46.     POP DS
  47.     POP ES
  48.     POP SI
  49.     POP DI
  50.     POP DX
  51.     POP CX
  52.     POP BX
  53.     POP AX
  54.     POPF
  55.     RET
  56. WRITEFILE ENDP
  57.  
  58.  
  59. CLOSEFILE PROC NEAR
  60.     PUSHF
  61.     PUSH AX
  62.     PUSH BX
  63.     MOV AH,3EH
  64.     MOV BX,DS:[FILEHANDLE]
  65.     INT 21H
  66.     POP BX
  67.     POP AX
  68.     POPF
  69.     RET
  70. CLOSEFILE ENDP
  71.  
  72.  
  73. ;--------------------------------------------------------------
  74. ;this is used to show whats going on inside.
  75. ;DX=Y, BX=X, SP=SP
  76. WHEREXY PROC NEAR
  77.     PUSH DX
  78.     PUSH CX
  79.     PUSH BX
  80.     PUSH AX
  81.  
  82.     PUSH CX
  83.     PUSH BX
  84.     PUSH DX
  85.  
  86.     MOV BX,0
  87.     MOV DX,DS:[statblock.totalscanlines]
  88.     SUB DX,10
  89.     MOV AL,'S'
  90.     CALL DRAWCHAR
  91.     ADD BX,8
  92.     MOV AL,':'
  93.     CALL DRAWCHAR
  94.     ADD BX,8
  95.     MOV AX,SP
  96.     CALL DRAWHEXW
  97.  
  98.     MOV AL,' '
  99.     CALL DRAWCHAR
  100.     ADD BX,8
  101.     MOV AL,'P'
  102.     CALL DRAWCHAR
  103.     ADD BX,8
  104.     MOV AL,':'
  105.     CALL DRAWCHAR
  106.     ADD BX,8
  107.     MOV AX,BP
  108.     CALL DRAWHEXW
  109.  
  110.     MOV AL,' '
  111.     CALL DRAWCHAR
  112.     ADD BX,8
  113.     MOV AL,'Y'
  114.     CALL DRAWCHAR
  115.     ADD BX,8
  116.     MOV AL,':'
  117.     CALL DRAWCHAR
  118.     ADD BX,8
  119.     POP AX
  120.     CALL DRAWHEXW
  121.  
  122.     MOV AL,' '
  123.     CALL DRAWCHAR
  124.     ADD BX,8
  125.     MOV AL,'L'
  126.     CALL DRAWCHAR
  127.     ADD BX,8
  128.     MOV AL,':'
  129.     CALL DRAWCHAR
  130.     ADD BX,8
  131.     POP AX
  132.     CALL DRAWHEXW
  133.  
  134.     MOV AL,' '
  135.     CALL DRAWCHAR
  136.     ADD BX,8
  137.     MOV AL,'R'
  138.     CALL DRAWCHAR
  139.     ADD BX,8
  140.     MOV AL,':'
  141.     CALL DRAWCHAR
  142.     ADD BX,8
  143.     POP AX
  144.     CALL DRAWHEXW
  145.  
  146.     POP AX
  147.     POP BX
  148.     POP CX
  149.     POP DX
  150.     RET
  151. WHEREXY ENDP
  152.  
  153.  
  154. DRAWHEXW PROC NEAR
  155.     PUSH AX
  156.     MOV AL,AH
  157.     SHR AL,1
  158.     SHR AL,1
  159.     SHR AL,1
  160.     SHR AL,1
  161.     CALL DONIBBLE
  162.  
  163.     POP AX
  164.     PUSH AX
  165.     MOV AL,AH
  166.     AND AL,0FH
  167.     CALL DONIBBLE
  168.  
  169.     POP AX
  170.     PUSH AX
  171.     SHR AL,1
  172.     SHR AL,1
  173.     SHR AL,1
  174.     SHR AL,1
  175.     CALL DONIBBLE
  176.  
  177.     POP AX
  178.     PUSH AX
  179.     AND AL,0FH
  180.     CALL DONIBBLE
  181.  
  182.     POP AX
  183.     RET
  184. DRAWHEXW ENDP
  185.  
  186.  
  187. DONIBBLE PROC NEAR
  188.     ADD AL,30H
  189.     CMP AL,'9'
  190.     JLE DONIB2
  191.     ADD AL,7
  192. DONIB2:
  193.     CALL DRAWCHAR
  194.     ADD BX,8
  195.     RET
  196. DONIBBLE ENDP
  197.  
  198.  
  199. ;-----------------------------------------------------------
  200.