;NAME:- Chinmay M. Mule ;CLASS:-SE COMP II SHIFT ;ROLLNO:-34 PRN:-S18111044 ;Assignment Name:-Write 80387 ALP to plot Sine Wave, Cosine Wave. Access ; video memory directly for plotting. .387 .MODEL SMALL .DATA X DW 1 Y DW 0 Xrad DQ ? D60 DW 60 D100 DW 100 D180 DW 180 PIby180 DQ ? TAB DB 80H,40H,20H,10H,8H,4,2,1 OFS DW 0 .CODE START: MOV AX,@DATA MOV DS,AX MOV AH,00 ;Set video mode MOV AL,06 ;Mode 6 i.e. 640 by 200 Graphics INT 10H FINIT FLDPI FIDIV D180 FSTP PIby180 DRAWSINE: FILD X ;Load angle FLD PIby180 ;Convert to radian FMUL ;i.e. multiply by Pi/180 FST Xrad FSIN ;Calculate sine FDIV Xrad FILD D60 ;Load amplitude FMUL ;Calculate Amplitude x sin FILD D100 FSUBR FISTP Y CALL OFSCAL INC X ;Next angle CMP X,639 ;Last point on X axis JNE DRAWSINE EXIT: MOV AH,0 INT 16H MOV AH,00 ;Set video mode MOV AL,02 ;Mode 2 i.e. 80 by 25 text INT 10H MOV AH,4CH INT 21H OFSCAL PROC NEAR MOV AX,Y AND AX,1 JZ L1 MOV OFS,2000H L1: MOV AX,Y SHR AX,1 MOV BX,50H MUL BX ADD OFS,AX MOV AX,X MOV CL,3 SHR AX,CL ADD OFS,AX LEA BX,TAB MOV AX,X AND AX,07 XLAT MOV BX,OFS MOV DX,0B800H MOV ES,DX OR ES:[BX],AL MOV OFS,0 RET OFSCAL ENDP END START