Category : Files from Magazines
Archive   : VOL7N10.ZIP
Filename : TRYTD.ASM

 
Output of file : TRYTD.ASM contained in archive : VOL7N10.ZIP
name trytd
title TRYTD --- time & date demo
page 55,132

;
; TRYTD.ASM -- demonstrate use of time and date routines
;
; Ray Duncan, December 1987
;

cr equ 0dh ; ASCII carriage return
lf equ 0ah ; ASCII line feed

stdin equ 0 ; standard input handle
stdout equ 1 ; standard output handle
stderr equ 2 ; standard error handle


DGROUP group _DATA


_TEXT segment word public 'CODE'

assume cs:_TEXT,ds:_DATA

extrn systcvt:near ; format system time
extrn sysdcvt:near ; format system date
extrn dirtcvt:near ; format directory time
extrn dirdcvt:near ; format directory date

main proc near

mov ax,_DATA ; make our data segment
mov ds,ax ; addressable...
mov es,ax

; format system time...
mov si,offset msg1a ; buffer address
mov bx,11 ; buffer length (max 11)
call systcvt

; format system date
mov si,offset msg1b ; buffer address
mov bx,8 ; buffer length (max 8)
call sysdcvt

mov dx,offset fname ; open TRYTD.EXE file
mov ax,3d00h ; Function 3DH = open,
; mode = read-only
int 21h ; transfer to MS-DOS
jc main1 ; jump if open failed

mov fhandle,ax ; save handle
mov bx,ax ; now get file date
mov ax,5700h ; and time...
int 21h ; transfer to MS-DOS

mov ax,cx ; format file time
mov bx,11 ; buffer length
mov si,offset msg1c ; buffer address
call dirtcvt

mov ax,dx ; format file date
mov bx,8 ; buffer length
mov si,offset msg1d ; buffer address
call dirdcvt

mov bx,fhandle ; now release handle
mov ax,3e00h ; Function 3EH = close
int 21h ; transfer to MS-DOS

; display formatted
; date and time...
mov dx,offset msg1 ; message address
mov cx,msg1_len ; message length
mov bx,stdout ; standard output handle
mov ah,40h ; Function 40h = write
int 21h ; transfer to MS-DOS

mov ax,4c00h ; terminate with
int 21h ; return code = zero

main1: mov dx,offset msg2 ; display message
mov cx,msg2_len ; "Can't open TRYTD.EXE"
mov bx,stdout
mov ah,40h
int 21h

mov ax,4c01h ; terminate with
int 21h ; return code = 1 (error)


main endp


_TEXT ends


_DATA segment word public 'DATA'

msg1 db cr,lf
db 'The current time and date are: '
msg1a db 12 dup (' ') ; time formatted here
msg1b db 8 dup (' ') ; date formatted here
db cr,lf,lf
db 'The TRYTD.EXE file time and date are: '
msg1c db 12 dup (' ') ; time formatted here
msg1d db 8 dup (' ') ; date formatted here
db cr,lf

msg1_len equ $-msg1

msg2 db cr,lf
db 'Can''t open TRYTD.EXE'
db cr,lf

msg2_len equ $-msg2

fname db 'TRYTD.EXE',0 ; name of this file
fhandle dw 0 ; handle for this file

_DATA ends


STACK segment para stack 'STACK'

db 128 dup (?)

STACK ends


end main



  3 Responses to “Category : Files from Magazines
Archive   : VOL7N10.ZIP
Filename : TRYTD.ASM

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. 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/