Display screen Saver utilizing TSR program in 8086 ALP
Write a TSR program in 8086 ALP to implement Display screen Saver. Display screen Saver ought to get activated if the keyboard is idle for 7 seconds. Entry the video RAM immediately in your routine.
Display screen Saver utilizing TSR program in 8086 ALP code
1 |
CODE SEGMENT<br/> ASSUME CS:CODE,DS:CODE,ES:CODE<br/> ORG 100H<br/>START : JMP BEGIN<br/> TIMER_IP DW ?<br/> TIMER_CS DW ?<br/> KB_IP DW ? <br/> KB_CS DW ?<br/> FLAG DB 0<br/> CNT DB 180<br/> BUFFER DW 2000 DUP(0)<br/>TIMER:<br/> PUSH AX<br/> PUSH BX<br/> PUSH CX<br/> PUSH DX<br/> PUSH SI<br/> PUSH DI<br/> PUSH DS<br/> PUSH ES<br/><br/> MOV AX,CS<br/> MOV DS,AX<br/> MOV ES,AX<br/><br/> CMP FLAG,00H<br/> JNE TIMER_END<br/> DEC CNT<br/> JNE TIMER_END<br/><br/> CLD<br/> MOV AX,0B800H<br/> MOV DS,AX<br/> MOV SI,0000H<br/> MOV DI,OFFSET BUFFER<br/> MOV CX,2000<br/> REP MOVSW<br/><br/> MOV AX,0B800H<br/> MOV ES,AX<br/> MOV DI,0000H<br/> MOV AL,48<br/> MOV AH,89<br/> MOV CX,2000<br/> REP STOSW<br/><br/> MOV CS:FLAG,01H<br/>TIMER_END:<br/> POP ES<br/> POP DS<br/> POP DI<br/> POP SI<br/> POP DX<br/> POP CX<br/> POP BX<br/> POP AX<br/>JMP DWORD PTR CS:TIMER_IP<br/><br/>KB:<br/> PUSH AX<br/> PUSH BX<br/> PUSH CX<br/> PUSH DX<br/> PUSH SI<br/> PUSH DI<br/> PUSH DS<br/> PUSH ES<br/><br/> MOV AX,CS<br/> MOV DS,AX<br/> MOV ES,AX<br/><br/> MOV CNT,180<br/> CMP FLAG,01<br/> JNE KB_END<br/><br/> CLD<br/> MOV AX,0B800H<br/> MOV ES,AX<br/> MOV SI,OFFSET BUFFER<br/> MOV DI,0000H<br/> MOV CX,2000<br/> REP MOVSW<br/><br/> MOV FLAG,00H<br/>KB_END :<br/> POP ES<br/> POP DS<br/> POP DI<br/> POP SI<br/> POP DX<br/> POP CX<br/> POP BX<br/> POP AX<br/>JMP DWORD PTR CS:KB_IP<br/><br/>BEGIN:<br/> MOV AX,CS<br/> MOV DS,AX<br/> MOV ES,AX<br/><br/> MOV AH,35H<br/> MOV AL,08H<br/> INT 21H<br/><br/> MOV TIMER_IP,BX<br/> MOV TIMER_CS,ES<br/><br/> MOV AH,35H<br/> MOV AL,09H<br/> INT 21H<br/><br/> MOV KB_IP,BX<br/> MOV KB_CS,ES<br/><br/> MOV AH,25H<br/> MOV AL,08H<br/> MOV DX,OFFSET TIMER<br/> INT 21H<br/><br/> MOV AH,25H<br/> MOV AL,09H<br/> MOV DX,OFFSET KB<br/> INT 21H<br/><br/> MOV AH,31H<br/> MOV DX,OFFSET BEGIN<br/> MOV CL,04H<br/> SHR DX,CL<br/> INC DX<br/> INT 21H<br/><br/>CODE ENDS<br/>END START |
Supply projectgeek.com