 To write a menu driven ALP program for file
handling.
 By including options like creating a file and typing
the contents of the file.
 Also displaying the current system date and time.
AGENDA:
INTERRUPT : FUNCTION PURPOSE
INT21H:FUNCTION 2AH GET SYSTEM TIME
INT21H:FUNCTION 2CH GET SYSTEM DATE
INT21H:FUNCTION 3CH CREATE FILE
INT 21H:FUNCTION 3DH OPEN FILE
INT21H:FUNCTION 3EH CLOSE FILE
INT21H:FUNCTION 3FH READ FILE
INT21H:FUNCTION 40H WRITE FILE
INT21H:FUNCTION 41H DELETE FILE
INT21H:FUNCTION 09H PRINT ON THE STRING
FUNCTION OF INT 21H USED IN FILE
HANDLING:
 AH=2Ah
Returns : CX=YEAR
DH=MONTH(1 TO 12)
DL=DAY OF MONTH(1 TO 31)
AL=DAY NUMBER IN WEEK(0-6 SUNDAY TO
SATURDAY)
FUNCTION 2AH-GET SYSTEM TIME:
 AH=2Ch
Returns : CH=HOUR(0 TO 59)
CL=MINUTE(0 TO 59)
DH=SECOND(0 TO 59)
DL=CENTISECONDS(0 TO 99)
 AH = 3Ch
 DS:DX = address of filename
 CL = attribute
 If successful, AX = file handle IF NOT CF=1
 When a file is created or opened in a program, DOS assigns it a
unique number called the FILE HANDLE.
 This number is used to identify the file.
FUNCTION 3CH-TO CREATE
FILE
 AH = 3Dh
◦ AL=Access Mode
 AH =4OH
 BX =Handle
 CX =No Of Bytes To Write
 DS:DX =Segment:Offset Of Buffer
 If successful then
 AX =Bytes Transferred
 AH = 3Fh
 BX = File Handle
 CX = Number Of Bytes To Read
 DS:DX = Memory Buffer Address
 AX = Count Of Bytes Actually Read
FUNCTION 40H-TO WRITE FILE:
START
READ FILENAME
WITH
EXTENSION
MOV OFFSET OF
FILENAME TO DX
MOV APPROPRIATE
LENGTH OF FILE NAME
TO CX
PROGRAM
MOV APPROPRIATE
FUNCTION CALL(3CH) TO AH
CALL INT 21H
END PROC & RET TO MAIN R
CREATE
FILE
CHEC
K CF
IF NOT SET
PRINT ERROR
MSG
START
MOV OFFSET OF
FILENAME TO DX
PROGRAM
MOV APPROPRIATE
FUNCTION (41H) CALL TO
AH
CALL INT 21H
DELETE
FILE
END PROC & RET TO MAIN
CHEC
K CF
IF NOT SET
PRINT ERROR
MSG
START
READ DATA TO
BE WRITTEN
MOV OFFSET OF
FILENAME TO DX
MOV APPROPRIATE
LENGTH OF FILE NAME
TO CX
PROGRAM
MOV APPROPRIATE
FUNCTION CALL(3CH) TO AH
CALL INT 21H
END PROC & RET
TO MAIN
R
WRIT INTO
FILE
CHECK FOR CARRY FLAG
START
MOV OFFSET OF
FILENAME TO
DX
READ DATA
FROM FILE BYTE
BY BYTE
OPEN THE FILE IN READ
MODE
PROGRAM
WHEN EOF IS REACHED,
CLOSE THE FILE
PRINT THE DATA
END PROC & RET
TO MAIN
R
READ FROM
FILE
START
MOV OFFSET OF
STRING VAR TO
BX
CALL INT 21H
MOV APPROPRIATE
FUNCTION CALL(2CH) TO
AH
PROGRAM
DECODE THE HEX VALUES
TO DECIMAN
PRINT THE TIME IN
PROPER FORMAY
END PROC & RET
TO MAIN
R
READ SYSTEM
TIME &
DISPLAY
START
MOV OFFSET OF
STRING VAR TO
BX
CALL INT 21H
MOV APPROPRIATE
FUNCTION CALL(2AH) TO
AH
PROGRAM
DECODE THE HEX VALUES
TO DECIMAN
PRINT THE TIME IN
PROPER FORMAY
END PROC & RET
TO MAIN
R
READ SYSTEM
DATE &
DISPLAY
File  handling    functions

File handling functions

  • 2.
     To writea menu driven ALP program for file handling.  By including options like creating a file and typing the contents of the file.  Also displaying the current system date and time. AGENDA:
  • 3.
    INTERRUPT : FUNCTIONPURPOSE INT21H:FUNCTION 2AH GET SYSTEM TIME INT21H:FUNCTION 2CH GET SYSTEM DATE INT21H:FUNCTION 3CH CREATE FILE INT 21H:FUNCTION 3DH OPEN FILE INT21H:FUNCTION 3EH CLOSE FILE INT21H:FUNCTION 3FH READ FILE INT21H:FUNCTION 40H WRITE FILE INT21H:FUNCTION 41H DELETE FILE INT21H:FUNCTION 09H PRINT ON THE STRING FUNCTION OF INT 21H USED IN FILE HANDLING:
  • 4.
     AH=2Ah Returns :CX=YEAR DH=MONTH(1 TO 12) DL=DAY OF MONTH(1 TO 31) AL=DAY NUMBER IN WEEK(0-6 SUNDAY TO SATURDAY) FUNCTION 2AH-GET SYSTEM TIME:  AH=2Ch Returns : CH=HOUR(0 TO 59) CL=MINUTE(0 TO 59) DH=SECOND(0 TO 59) DL=CENTISECONDS(0 TO 99)
  • 5.
     AH =3Ch  DS:DX = address of filename  CL = attribute  If successful, AX = file handle IF NOT CF=1  When a file is created or opened in a program, DOS assigns it a unique number called the FILE HANDLE.  This number is used to identify the file. FUNCTION 3CH-TO CREATE FILE  AH = 3Dh ◦ AL=Access Mode
  • 6.
     AH =4OH BX =Handle  CX =No Of Bytes To Write  DS:DX =Segment:Offset Of Buffer  If successful then  AX =Bytes Transferred  AH = 3Fh  BX = File Handle  CX = Number Of Bytes To Read  DS:DX = Memory Buffer Address  AX = Count Of Bytes Actually Read FUNCTION 40H-TO WRITE FILE:
  • 8.
    START READ FILENAME WITH EXTENSION MOV OFFSETOF FILENAME TO DX MOV APPROPRIATE LENGTH OF FILE NAME TO CX PROGRAM MOV APPROPRIATE FUNCTION CALL(3CH) TO AH CALL INT 21H END PROC & RET TO MAIN R CREATE FILE CHEC K CF IF NOT SET PRINT ERROR MSG
  • 9.
    START MOV OFFSET OF FILENAMETO DX PROGRAM MOV APPROPRIATE FUNCTION (41H) CALL TO AH CALL INT 21H DELETE FILE END PROC & RET TO MAIN CHEC K CF IF NOT SET PRINT ERROR MSG
  • 10.
    START READ DATA TO BEWRITTEN MOV OFFSET OF FILENAME TO DX MOV APPROPRIATE LENGTH OF FILE NAME TO CX PROGRAM MOV APPROPRIATE FUNCTION CALL(3CH) TO AH CALL INT 21H END PROC & RET TO MAIN R WRIT INTO FILE CHECK FOR CARRY FLAG
  • 11.
    START MOV OFFSET OF FILENAMETO DX READ DATA FROM FILE BYTE BY BYTE OPEN THE FILE IN READ MODE PROGRAM WHEN EOF IS REACHED, CLOSE THE FILE PRINT THE DATA END PROC & RET TO MAIN R READ FROM FILE
  • 12.
    START MOV OFFSET OF STRINGVAR TO BX CALL INT 21H MOV APPROPRIATE FUNCTION CALL(2CH) TO AH PROGRAM DECODE THE HEX VALUES TO DECIMAN PRINT THE TIME IN PROPER FORMAY END PROC & RET TO MAIN R READ SYSTEM TIME & DISPLAY
  • 13.
    START MOV OFFSET OF STRINGVAR TO BX CALL INT 21H MOV APPROPRIATE FUNCTION CALL(2AH) TO AH PROGRAM DECODE THE HEX VALUES TO DECIMAN PRINT THE TIME IN PROPER FORMAY END PROC & RET TO MAIN R READ SYSTEM DATE & DISPLAY