document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. ;------------------------------------------------------------------------------------------
  2. ; ASSIGNMENT NO : 10
  3. ; TITLE : WRITE ALP TO IMPLEMENT MULTITASKING USING PENTIUM PROGRAMMING
  4. ;------------------------------------------------------------------------------------------
  5.  
  6. CODE SEGMENT
  7.  
  8. ASSUME CS:CODE
  9.  
  10.      TASK    DB  0                      ;FOR FLAG INITIALISATION WHEN 0 THEN TASK 1 &FF
  11.      COUNT   DB \'0\'                     ;IF 0 INC DIGIT IF 1 INC ALPHA
  12.      ALPHA   DB \'A\'
  13.      T1CNT   DB  18                     ;FOR DIGIT DELAY
  14.      T2CNT   DB  9                      ;FOR CHARACTER DELAY
  15.      OLDIPCS DD  ?                      ;ONE WORD FOR SEGMENT AND ONE FOR OFFSET
  16.  
  17. START:
  18.         XOR AH,AH                       ;TO CLEAR AH
  19.         MOV AL,03H                      ;TO GET CURSOR POSITION FOR RESOLUTION
  20.         INT 10H
  21.         MOV AH,35H                      ;TO GET INTERRUPT VECTOR
  22.         MOV AL,1CH                      ;INTERRUPT FOR RTC
  23.         INT 21H
  24.         MOV WORD PTR CS:OLDIPCS,BX          ;TO STORE BX INTO OLDIPCS
  25.         MOV WORD PTR CS:OLDIPCS[2],ES       ;TO STORE ES INTO OLDIPCS
  26.  
  27.         MOV AX,CS                       ;TO COMBINE ES AND CS IN 1 SEGMENT
  28.         MOV DS,AX                       ;FOR .COM PROGRAM
  29.         MOV DX,CS:SWAP
  30.         MOV AH,25H                      ;TO SET INTERRUPT VECTOR
  31.         MOV AL,1CH
  32.         INT 21H
  33.         MOV AH,08H                      ;GET CHARACTER FROM KEYBOARD FOR TERMINATION
  34.         INT 21H
  35.         MOV AH,4CH
  36.         INT 21H
  37.  
  38. SWAP:
  39.         PUSHF
  40.         PUSH AX
  41.         PUSH BX
  42.         PUSH CX
  43.         PUSH DX
  44.         NOT CS:TASK                     ;TO INVERT TASK (FLAG)
  45.         CMP CS:TASK,0                   ;COMPARE TASK TASK WITH 0
  46.         JNZ ET2
  47.         CALL TASK1
  48.         JMP BYE
  49.  
  50. ET2:    CALL TASK2
  51.  
  52. BYE:    POP DX
  53.         POP CX
  54.         POP BX
  55.         POP AX
  56.         POPF
  57.  
  58.         JMP CS:OLDIPCS
  59.  
  60. TASK1 PROC NEAR                         ;START PROC
  61.  
  62.         DEC CS:T1CNT
  63.         JNZ ER1
  64.         MOV CS:T1CNT,18
  65.         MOV AH,02
  66.  
  67.         MOV BH,00                       ;USED FOR COLOR CODE
  68.         MOV DH,12                       ;FOR ROW POSITION
  69.         MOV DL,37                       ;FOR COLUMN POSITION
  70.         INT 10H
  71.         MOV AL,CS:COUNT                 ;AL=CHAR
  72.         MOV BL,5                        ;USE FOR COLOR CODE
  73.         MOV CX,1                        ;DISPLAY 1 CHARACTER AT A TIME
  74.         MOV AH,09H
  75.         INT 10H
  76.         INC CS:COUNT
  77.         CMP CS:COUNT,\'9\'+1
  78.         JNZ ER1
  79.         MOV CS:COUNT,\'0\'
  80.  
  81. ER1: RET
  82.  
  83. TASK1 ENDP                              ;END OF PROCEDURE
  84.  
  85. TASK2 PROC NEAR                         ;START TASK2 PROCEDURE
  86.  
  87.         DEC CS:T2CNT
  88.         JNZ ER2
  89.         MOV CS:T2CNT,9
  90.         MOV AH,02
  91.         MOV BH,0
  92.         MOV DH,12
  93.         MOV DL,43
  94.         INT 10H
  95.         MOV AL,CS:ALPHA
  96.         MOV BL,5                        ;USED FOR COLOR CODE
  97.         MOV CX,1                        ;DISPLAY ONE CHARACTER AT A TIME
  98.         MOV AH,09H
  99.         INT 10H
  100.         INC CS:ALPHA
  101.         CMP CS:ALPHA,\'Z\'+1  
  102.         JNZ ER2
  103.         MOV CS:ALPHA,\'A\'                ;TO START FROM A
  104.  
  105. ER2: RET
  106.  
  107. TASK2 ENDP                          ;END TASK2 PROCEDURE
  108.  
  109. CODE ENDS
  110.  
  111. END START
  112.  
  113. ;-----------------------------------------------------------------
  114. ; END OF THE PROGRAM
  115. ;-----------------------------------------------------------------
');