home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / assemblr / mslang / as / getspace.asm < prev    next >
Assembly Source File  |  1985-01-08  |  896b  |  75 lines

  1. CSEG    SEGMENT
  2. PUBLIC    GETSPACE
  3. GETSPACE    PROC FAR
  4.  
  5.     ASSUME    CS:CSEG
  6.     PUSH     BP
  7.     MOV    BP,SP
  8.     MOV     BX,[BP]+6
  9.     MOV    DI,[BX]+2
  10.     MOV    CX,8
  11.     MOV    AL,' '
  12.     CLD
  13.     REP    STOSB
  14.     MOV    BX,[BP]+8
  15.     MOV    SI,[BX]+2
  16.     MOV    AX,[SI]
  17.     AND    AL,0DFH
  18.     CMP    AL,41H
  19.     JGE    CKVER
  20.     JMP    EXITSPC
  21.  
  22. CKVER:
  23.     PUSH    AX
  24.     MOV    AH,30H
  25.     INT    21H
  26.     XCHG    AL,AH
  27.  
  28. SPACE20:
  29.     POP    DX
  30.     XOR    DL,40H
  31.     MOV    AH,36H
  32.        INT    21H
  33.     CMP     AX,0FFFFH
  34.     JE    EXITSPC
  35.     XOR    DX,DX
  36.     MUL    CX
  37.     XCHG    BX,CX
  38.     MUL    CX
  39.     PUSH    AX
  40.     PUSH    DX
  41.  
  42. ENDSPC:
  43.     MOV    BX,[BP]+6
  44.     MOV    DI,[BX]+2
  45.     ADD    DI,7
  46.     POP    DX
  47.     POP    AX
  48.     
  49. HEXTODEC:
  50.     MOV    SI,10
  51.     PUSH    AX
  52.     MOV    AX,DX
  53.     XOR    DX,DX
  54.     DIV    SI
  55.     POP    CX
  56.     PUSH    AX
  57.     MOV    AX,CX
  58.     DIV    SI
  59.     POP    SI
  60.     OR    DL,30H
  61.     MOV    BYTE PTR [DI],DL
  62.     DEC    DI
  63.     XCHG    DX,SI
  64.     OR    AX,AX
  65.     JNZ    HEXTODEC
  66.  
  67. EXITSPC:
  68.     POP    BP
  69.     RET    4
  70.     RET
  71.  
  72. GETSPACE    ENDP
  73. CSEG        ENDS
  74.     END
  75.