home *** CD-ROM | disk | FTP | other *** search
- CSEG SEGMENT
- PUBLIC GETSPACE
- GETSPACE PROC FAR
-
- ASSUME CS:CSEG
- PUSH BP
- MOV BP,SP
- MOV BX,[BP]+6
- MOV DI,[BX]+2
- MOV CX,8
- MOV AL,' '
- CLD
- REP STOSB
- MOV BX,[BP]+8
- MOV SI,[BX]+2
- MOV AX,[SI]
- AND AL,0DFH
- CMP AL,41H
- JGE CKVER
- JMP EXITSPC
-
- CKVER:
- PUSH AX
- MOV AH,30H
- INT 21H
- XCHG AL,AH
-
- SPACE20:
- POP DX
- XOR DL,40H
- MOV AH,36H
- INT 21H
- CMP AX,0FFFFH
- JE EXITSPC
- XOR DX,DX
- MUL CX
- XCHG BX,CX
- MUL CX
- PUSH AX
- PUSH DX
-
- ENDSPC:
- MOV BX,[BP]+6
- MOV DI,[BX]+2
- ADD DI,7
- POP DX
- POP AX
-
- HEXTODEC:
- MOV SI,10
- PUSH AX
- MOV AX,DX
- XOR DX,DX
- DIV SI
- POP CX
- PUSH AX
- MOV AX,CX
- DIV SI
- POP SI
- OR DL,30H
- MOV BYTE PTR [DI],DL
- DEC DI
- XCHG DX,SI
- OR AX,AX
- JNZ HEXTODEC
-
- EXITSPC:
- POP BP
- RET 4
- RET
-
- GETSPACE ENDP
- CSEG ENDS
- END