Category : Miscellaneous Language Source Code
Archive   : NEC-V20.ZIP
Filename : EPILOGUE.ASM
NAME EPILOGUE
;************************************************************************
; :
; Module Name :
; :
; Bit Drawing Demonstration Epilogue Code :
; :
; Module Description :
; :
; This module performs all of the epilogue functions for the :
; V-Series benchmarks. This includes reading the clock, :
; computing the elapsed time and displaying the results. :
; :
; :
; Author :
; :
; Rick Naro :
; Natick Technology Center :
; NEC Electronics, Inc. :
; :
; Date :
; :
; 4/22/85 :
; :
; :
; Inputs :
; :
; None :
; :
; :
; Outputs :
; :
; None :
; :
; :
; Registers Modified :
; :
; None :
; :
;************************************************************************
$EJECT
CODE SEGMENT WORD PUBLIC
PUBLIC EPILOGUE
EXTRN GET_TIME : NEAR, PUTS : NEAR, COMPUTE_ELAPSED_TIME : NEAR
EXTRN CONVERT_TIME : NEAR
ASSUME CS:CODE, DS:CODE, ES:CODE, SS:CODE
EPILOGUE PROC NEAR
PUSH BX ; Save the user registers
PUSH DX
PUSH SI
PUSH DI
MOV SI, OFFSET STOP_TIME ; Point to the stop time data structure
CALL GET_TIME ; Read the time
MOV SI, OFFSET STOP_TIME ; Point to the ending time
MOV DI, OFFSET START_TIME ; Point to the starting time
MOV BX, OFFSET ELAPSED_TIME ; Point to the result destination
CALL COMPUTE_ELAPSED_TIME ; Compute the elapsed time
;
; Display the results of the demonstration
;
MOV DX, OFFSET START_MSG ; Point to the output string
CALL PUTS ; Display it
MOV SI, OFFSET START_TIME ; Point to the start time
MOV DI, OFFSET START_STRING ; Point to the destination string
CALL CONVERT_TIME ; Convert to an ASCII string
MOV DX, OFFSET START_STRING ; Point to the converted string
CALL PUTS ; Display it
MOV DX, OFFSET RETURN_STRING ; Point to the end of line string
CALL PUTS ; Display it
MOV DX, OFFSET STOP_MSG ; Point to the stop message
CALL PUTS ; Display it
MOV SI, OFFSET STOP_TIME ; Point to the stop time
MOV DI, OFFSET STOP_STRING ; Point to the destination string
CALL CONVERT_TIME ; Convert to an ASCII string
MOV DX, OFFSET STOP_STRING ; Point to the converted string
CALL PUTS ; Display it
MOV DX, OFFSET RETURN_STRING ; Point to the end of line string
CALL PUTS ; Display it
MOV DX, OFFSET BENCH_MSG ; Point to the benchmark string
CALL PUTS ; Display it
MOV SI, OFFSET ELAPSED_TIME ; Point to the elapsed time
MOV DI, OFFSET ELAPSED_STRING ; Point to the destination string
CALL CONVERT_TIME ; Convert to an ASCII string
MOV DX, OFFSET ELAPSED_STRING ; Point to the converted string
CALL PUTS ; Display it
MOV DX, OFFSET RETURN_STRING ; Point to the end of line string
CALL PUTS ; Display it
POP DI ; Restore the registers
POP SI
POP DX
POP BX
RET ; Exit
EPILOGUE ENDP
START_MSG DB 'Demonstration Start Time - $'
STOP_MSG DB 'Demonstration Stop Time - $'
BENCH_MSG DB 'Benchmark Time - $'
RETURN_STRING DB 13, 10, '$'
PUBLIC START_TIME
START_TIME LABEL WORD
START_HOURS DB ?
START_MINS DB ?
START_SECS DB ?
START_HUNS DB ?
STOP_TIME LABEL WORD
STOP_HOURS DB ?
STOP_MINS DB ?
STOP_SECS DB ?
STOP_HUNS DB ?
ELAPSED_TIME LABEL WORD
ELAPSED_HOURS DB ?
ELAPSED_MINS DB ?
ELAPSED_SECS DB ?
ELAPSED_HUNS DB ?
START_STRING DB 12 DUP (?)
STOP_STRING DB 12 DUP (?)
ELAPSED_STRING DB 12 DUP (?)
CODE ENDS
END
Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!
This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.
But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/