document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. ;----------------------------------------------------------------------------------------
  2. ; ASSIGNMENT NO :
  3. ; TITLE : WRITE ALP FOR INSTALLABEL DRIVERS FOR PRINTER
  4. ;----------------------------------------------------------------------------------------
  5.  
  6.    PRINT MACRO MSG
  7.  
  8.         MOV AH,09H
  9.         LEA DX,MSG
  10.         INT 21H
  11.  
  12.   ENDM
  13.  
  14.   DATA SEGMENT
  15.                         MENU            DB      10,13,10," PRINT MENU "
  16.                                         DB      10,13," 1. CONSOLE PRINT"
  17.                                         DB      10,13," 2. FILE PRINT"
  18.                                         DB      10,13," 3. EXIT $"
  19.                         FNAME           DB      1024 DUP(\'$\')
  20.                         BUFF            DB      1024 DUP(\'$\')
  21.                     FP          DW      ?
  22.                         CNT             DW      ?
  23.                 NEWL        DB      10,13," $"
  24.                 SPAC        DB      10,13," $"
  25.                 FILENM      DB      10,13," FILE NAME => $"
  26.                         CONTNT          DB      10,13," CONTENT => $"
  27.                 MSG1        DB      10,13," FILE OPENED SUCCESSFULLY...!! $"
  28.                 MSG2        DB      10,13,10," FILE READ SUCCESSFULLY...!! $"
  29.                 MSG3        DB      10,13," ERROR IN FILE OPENING...!! $"
  30.                 MSG4        DB      10,13," ERROR IN READING FILE...!! $"
  31.                         MSG5            DB      10,13,10," FILE CLOSED SUCCESSFULLY...!! $"
  32.                         SARR1           DB      1024 DUP(\'$\')
  33.                         CHOICE          DB      ?
  34.   DATA ENDS
  35.  
  36.  ASSUME CS:CODE, DS:DATA
  37.  
  38.  CODE SEGMENT
  39.  
  40.  START:
  41.             MOV AX,DATA
  42.                 MOV DS,AX
  43.  PRMENU:
  44.                 PRINT MENU
  45.                 MOV AH,08H
  46.                 INT 21H
  47.  
  48.                 CMP AL,31H
  49.     JE CONPR
  50.  
  51.                 CMP AL,32H
  52.                 JE FLPR
  53.  
  54.                 CMP AL,33H
  55.                 JE EXT
  56.  
  57.  FLPR:
  58.                 CALL FILEPRINT
  59.                 JMP PRMENU
  60.  
  61.  CONPR:
  62.     CALL CONSOLEPRINT
  63.     JMP PRMENU
  64.  
  65.  EXT:                                           ; EXIT
  66.             MOV AH,4CH
  67.             INT 21H
  68.  
  69.  
  70.  ACCEPT PROC NEAR                              
  71. ;===============================================================
  72.                             ; ACCEPT STRING FROM USER
  73.         MOV     AH,0AH                      ;0A FOR STRING ACCEPTATION
  74.         LEA     DX,SARR1
  75.         INT     21H
  76.        
  77.         RET
  78.  
  79. ACCEPT ENDP
  80.  
  81.  FILEPRINT PROC NEAR
  82. ;===============================================================
  83.  
  84.         PRINT FILENM
  85.         CALL ACCEPT
  86.  
  87.         MOV CH,SARR1+1                      ;RETURN LENGTH OF STRING
  88.  
  89.         LEA DI,FNAME
  90.         LEA SI,SARR1
  91.         INC SI
  92.         INC SI
  93.  
  94.  A:                                                                                   ;                             ; COPYING FILE NAME IN VARIABLE "FNAME"
  95.                 MOV DL,[SI]
  96.                 MOV [DI],DL
  97.                 INC SI
  98.                 INC DI
  99.                 DEC CH
  100.                 JNZ A
  101.  
  102.                 LEA DX,FNAME
  103.                 MOV AH,09H
  104.                 INT 21H
  105.  
  106.             MOV AH,3DH                          ; FILE OPENING
  107.             LEA DX,FNAME
  108.             MOV AL,00H
  109.             INT 21H
  110.  
  111.             MOV FP,AX
  112.  
  113.             JNC FOSUCC
  114.                 JMP FOERR
  115.  
  116.  FOSUCC:                                        ; FILE OPEN SUCCESSFUL
  117.             PRINT NEWL
  118.             PRINT MSG1
  119.  
  120.             MOV AH,3FH                          ; READING CONTENTS OF FILE
  121.             MOV BX,FP
  122.                 MOV CX,1024
  123.             LEA DX,BUFF
  124.             INT 21H
  125.  
  126.             MOV CNT,AX
  127.  
  128.             JNC FRSUCC
  129.             JMP FRERR
  130.  
  131.  FOERR:                                             ; FILE OPEN ERROR
  132.             PRINT MSG3
  133.                 RET
  134.  
  135.  FRSUCC:                                        ; FILE READ SUCCESSFUL
  136.             PRINT MSG2
  137.             PRINT NEWL
  138.             PRINT NEWL
  139.             MOV CX,CNT
  140.             LEA SI,BUFF
  141.  B:                                                                        ;                            ;DISPLAYING CONTENTS OF FILE
  142.             MOV AH,02H
  143.         INT 21H
  144.             MOV DL,[SI]
  145.                 MOV AH,05H
  146.                 INT 21H
  147.             INC SI
  148.             DEC CX
  149.             JNZ B
  150.  
  151.             MOV BX,FP
  152.             MOV AH,3EH                      ; FILE CLOSING
  153.             INT 21H
  154.             PRINT MSG5
  155.  
  156.                 RET
  157.  
  158.  FRERR:                                             ; FILE READ ERROR
  159.             PRINT MSG4
  160.                 RET
  161.  
  162.  
  163.  FILEPRINT ENDP
  164.  
  165.  CONSOLEPRINT PROC NEAR
  166. ;====================================================
  167.   ;PRINT FILENM
  168.  
  169.         PRINT CONTNT
  170.         CALL ACCEPT
  171.  
  172.         MOV CH,SARR1+1                      ;RETURN LENGTH OF STRING
  173.  
  174.         LEA DI,FNAME
  175.         LEA SI,SARR1
  176.         INC SI
  177.         INC SI
  178.  AA:                                            ; COPYING FILE NAME IN VARIABLE "FNAME"
  179.         MOV DL,[SI]
  180.         INC SI
  181.         INC DI
  182.         DEC CH
  183.         MOV AH,05H
  184.         INT 21H
  185.         JNZ AA
  186.  
  187.     RET
  188.  
  189. CONSOLEPRINT ENDP
  190.  
  191.  
  192.  CODE ENDS
  193.  END START
  194.  
  195. ;------------------------------------------------------------------------------------------
  196. ; END OF THE PROGRAM
  197. ;------------------------------------------------------------------------------------------
');