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
 
|